如何在Windows上使用composer运行phpunit测试(cmd)

时间:2016-01-03 17:32:44

标签: php windows phpunit composer-php

我想在我的本地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文件

2 个答案:

答案 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.distphpunit.xml文件中配置的测试套件中的所有测试。

要在项目中通过Composer使用phpunit二进制安装,您需要使用它的路径:

./vendor/bin/phpunit ./tests/PagesTest.php

我没有Windows安装来测试这个,但是你可能必须在调用前添加php(如php ./vendor/bin/phpunit)。