如何在 windows(cmd) 上使用 composer 运行 phpunit 测试 [重复]
Posted
技术标签:
【中文标题】如何在 windows(cmd) 上使用 composer 运行 phpunit 测试 [重复]【英文标题】:How can I run a phpunit test using composer on windows(cmd) [duplicate] 【发布时间】:2016-04-07 09:00:08 【问题描述】:我想在本地 Windows 机器上运行 phpunit 测试..(使用 wamp)..
我已经全局安装了composer..并且phpunit安装在我的本地目录..
文件夹结构..
_________tests
| |
| |______PagesTest.php
|
|________vendor
|
|______bin
|
|_____phpunit
在我的 localroot(www)..我创建了一个 phpunit.xml 文件..
<?xml version="1.0" encoding="UTF-8"?>
<phpunit convertWarningsToExceptions="true"
convertNoticesToExceptions="true"
convertErrorsToExceptions="true"
backupStaticAttributes="false"
processIsolation="false"
stopOnFailure="false"
backupGlobals="false"
syntaxCheck="false"
colors="true">
<testsuites>
<testsuite name="Punta Test Suite">
<directory>./tests/</directory>
</testsuite>
</testsuites>
</phpunit>
在 Cmd 上我试过了:
C:\wamp\www\vendor\bin>phpunit PagesTest
输出是
Cannot open file PagesTest.php
我不知道如何使用 composer 运行这个 PagesTest.php 文件
【问题讨论】:
你配置phpunit.xml使用自动加载器了吗? 【参考方案1】:好的,PHPUnit 正在运行,但没有找到测试文件,因为 Composer Autoloader 没有加载。
您可以通过为 PHPUnit 添加一个配置文件来解决这个问题,该文件定义属性 bootstrap
并设置 Composer Autoloader 文件。
phpunit.xml.dist
的示例
<?xml version="1.0" encoding="utf-8" ?>
<phpunit bootstrap="./vendor/autoload.php">
<testsuites>
<testsuite name="My Project - TestSuite">
<directory>./tests</directory>
</testsuite>
</testsuites>
</phpunit>
然后只需运行 PHPUnit 命令:
$ ./vendor/bin/phpunit
在 Windows 上只需翻转斜线:C:\> .\vendor\bin\phpunit
PHPUnit 将自动检测配置文件 (phpunit.xml.dist
) 并在其引导阶段加载 Composer Autoloader。
【讨论】:
谢谢我有一个 xml 文件完全忘记了..错过了引导程序..但我在 windows (wamp)(cmd)..vendor/bin/phpunit 命令不起作用..哪个可能是 Windows 上的作曲家错误.. 很高兴我能帮上忙。 (在 Windows 上,只需翻转命令.\vendor\bin\phpunit.bat
上的斜杠。我已经更新了我的答案。)
.\vendor\bin\phpunit 作品我接受了你的回答..【参考方案2】:
如果测试类位于子目录中,则需要将完整路径传递给它,如下所示:
phpunit ./tests/PagesTest.php
您可以不带任何参数运行phpunit
,这将按照phpunit.xml.dist
或phpunit.xml
文件中的配置执行测试套件中的所有测试。
要在您的项目中通过 Composer 使用 phpunit
二进制安装,您需要使用它的路径:
./vendor/bin/phpunit ./tests/PagesTest.php
我没有安装 Windows 来测试这个,但也许您必须在调用前加上 php
(如 php ./vendor/bin/phpunit
)。
【讨论】:
有趣的是 php vendor/phpunit/phpunit/phpunit 解决了我的问题..以上是关于如何在 windows(cmd) 上使用 composer 运行 phpunit 测试 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 7 上使用命令 CMD 从 python django 访问和配置 postgresql 数据库
markdown 如何在Windows 10和Linux&Mac OSX上使用Terminal / cmd关闭计时器
如何使用 Nodejs 和 spawn 在 Windows 10 上以管理员身份运行一些 CMD 命令?