我想在我的本地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文件答案 0 :(得分:7)
好的,PHPUnit正在运行,但没有找到Test文件,因为没有加载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。
答案 1 :(得分:1)
如果测试类位于子目录中,则需要将完整路径传递给它:
phpunit ./tests/PagesTest.php
您可以在没有任何参数的情况下运行phpunit
,这些参数将执行在phpunit.xml.dist
或phpunit.xml
文件中配置的测试套件中的所有测试。
要在项目中通过Composer使用phpunit
二进制安装,您需要使用它的路径:
./vendor/bin/phpunit ./tests/PagesTest.php
我没有Windows安装来测试这个,但是你可能必须在调用前添加php
(如php ./vendor/bin/phpunit
)。