我在使用 phpunit 时遇到了一些问题。当我执行测试时,phpunit 会给我以下警告:
1) 警告在“Illuminate\Foundation\Testing\TestCase”类中找不到测试。
2) 警告在“TestCase”类中找不到测试。
但我想忽略这些文件,这样 phpunit 就不会尝试从它们运行测试。
怎么做?
希望现在您找到了答案,但如果您还没有,这可能会有所帮助:
嗯 - 确保文件名和类名都匹配。例如,没有文件名为 BarTest.php 的 FooTest 类。
另外,您确定在 app/tests 目录中有一个 *Test.php 文件吗?
[...]
就是这样,即我的一个测试在文件名与类名中有一个错字。奇怪的是,打字错误会在 TestCase 类中发出警告,而不是标记实际导致它的类。
来自: https ://laracasts.com/forum/?p=83-warnings-for-testcase-illuminate-foundation-testing-testcase/0
基本上,确保您的文件名和类名匹配。我也在用头撞这个。
另一个解决方案可能是使 TestCase 类抽象。通过这样做,PHPUnit 将不会尝试在其中找到任何测试。
abstract class TestCase {
对我来说,问题是类名与文件名不匹配,所以一个类定义为
class ExampleTest {
未命名为 ExampleTest.php。
如果您想忽略某些测试文件,请进入 phpunit.xml 文件并在里面
<testsuite name="Application Test Suite">
<directory></directory>
</testsuite>
用标签替换目录标签并指定要使用的特定测试文件。
对我来说,我犯了一个约定错误。解决方案是将类名和文件从TestFoo
更改为FooTest
.
我也面临同样的问题。我已经检查过我的文件名和类名分别与AuthTest.php
和AuthTest
相同。
但是我仍然收到相同的警告,可能是因为我已将 to 重命名ExampleTest.php
为AuthTest.php
.
无论如何,我已经删除了以前的文件并使用了php artisan make:test AuthTest
它并且它有效。