好吧,一开始。您需要告诉自动加载器在哪里可以找到类的php文件。这是通过遵循PSR-0标准来完成的。
最好的方法是使用名称空间。
Acme/Tests/ReturningTest.php当您要求
AcmeTestsReturningTest上课时,自动装带器将搜索文件。有一些很棒的名称空间教程,只是搜索和阅读。请注意,namespacing
并不是 PHP可以自动加载的东西,而是可以用于自动加载的东西。
Composer带有标准的PSR-0自动装带器(中的一个
vendor/autoload.php)。对于您的情况,您想告诉自动装带器在
lib目录中搜索文件。然后,当您使用
ReturningTest它会寻找
/lib/ReturningTest.php。
将此添加到您的
composer.json:
{ ... "autoload": { "psr-0": { "": "lib/" } }}
文档中有更多信息。
现在,自动加载器可以找到您需要的类,让PHPunit知道在运行测试之前要执行的文件:引导文件。您可以使用该
--bootstrap选项指定引导文件的位置:
$ ./vendor/bin/phpunit tests --bootstrap vendor/autoload.php
但是,最好使用PHPunit配置文件:
<!-- /phpunit.xml.dist --><?xml version="1.0" encoding="utf-8" ?><phpunit bootstrap="./vendor/autoload.php"> <testsuites> <testsuite name="The project's test suite"> <directory>./tests</directory> </testsuite> </testsuites></phpunit>
现在,您可以运行命令,它将自动检测配置文件:
$ ./vendor/bin/phpunit
如果将配置文件放入另一个目录,则需要在带有
-c选项的命令中将该目录的路径放入。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)