phpunit未执行任何测试
我对phpunit有一个“未执行测试” 这条线有效phpunit未执行任何测试,php,phpunit,Php,Phpunit,我对phpunit有一个“未执行测试” 这条线有效 $ phpunit install/InstallDbTest.php ... <result expected> ... $ cat suites/installtests.xml <phpunit> <testsuites> <testsuite name="database"> <file>install/InstallDb
$ phpunit install/InstallDbTest.php
...
<result expected>
...
$ cat suites/installtests.xml
<phpunit>
<testsuites>
<testsuite name="database">
<file>install/InstallDbTest.php</file>
</testsuite>
</testsuites>
</phpunit>
$ phpunit -c suites/installtests.xml
PHPUnit 4.7.4 by Sebastian Bergmann and contributors.
Time: 130 ms, Memory: 11.25Mb
No tests executed!
$phpunit安装/InstallDbTest.php
...
...
$cat suites/installtests.xml
install/InstallDbTest.php
$phpunit-c suites/installtests.xml
PHPUnit 4.7.4由塞巴斯蒂安·伯格曼和贡献者撰写。
时间:130毫秒,内存:11.25Mb
没有执行任何测试!
有人能告诉我我做错了什么吗
提前谢谢 您需要更正phpunit.xml中的路径 它正在尝试查找文件
suites/install/InstallDbTest.php
。由于该文件不存在,因此不会运行任何测试,您会收到消息
将配置更改为以下内容:
<phpunit>
<testsuites>
<testsuite name="database">
<file>../install/InstallDbTest.php</file>
</testsuite>
</testsuites>
</phpunit>
../install/InstallDbTest.php
phpunit.xml中的文件路径都与xml文件的位置有关。可能在InstallDbTest.php文件中缺少:
<?php
...
对于那些使用与Composer的自动加载文件不同的引导文件的人,请确保不要使用任何测试用例类
事实上,PHPUnit(在我的例子中是6.2版)向运行的TestSuite
中添加了所有尚未加载类的PHP文件(请参见如何完成)。从TestSuite::addTestFile($filename)
方法:
$classes = get_declared_classes();
$filename = Fileloader::checkAndLoad($filename);
$newClasses = \array_diff(\get_declared_classes(), $classes);
因此,如果您的类已经属于get\u declared\u类
,它将被忽略
总结一下:不要在之前使用你的测试类;)