24

我在使用 phpunit 时遇到了一些问题。当我执行测试时,phpunit 会给我以下警告:

1) 警告在“Illuminate\Foundation\Testing\TestCase”类中找不到测试。

2) 警告在“TestCase”类中找不到测试。

但我想忽略这些文件,这样 phpunit 就不会尝试从它们运行测试。

怎么做?

4

5 回答 5

48

希望现在您找到了答案,但如果您还没有,这可能会有所帮助:

嗯 - 确保文件名和类名都匹配。例如,没有文件名为 BarTest.php 的 FooTest 类。

另外,您确定在 app/tests 目录中有一个 *Test.php 文件吗?

[...]

就是这样,即我的一个测试在文件名与类名中有一个错字。奇怪的是,打字错误会在 TestCase 类中发出警告,而不是标记实际导致它的类。

来自: https ://laracasts.com/forum/?p=83-warnings-for-testcase-illuminate-foundation-testing-testcase/0

基本上,确保您的文件名和类名匹配。我也在用头撞这个。

于 2013-11-08T17:17:23.983 回答
44

另一个解决方案可能是使 TestCase 类抽象。通过这样做,PHPUnit 将不会尝试在其中找到任何测试。

abstract class TestCase {

于 2015-04-14T15:51:46.967 回答
4

对我来说,问题是类名与文件名不匹配,所以一个类定义为

class ExampleTest {

未命名为 ExampleTest.php。

如果您想忽略某些测试文件,请进入 phpunit.xml 文件并在里面

<testsuite name="Application Test Suite">
    <directory></directory>
</testsuite>

用标签替换目录标签并指定要使用的特定测试文件。

于 2015-08-18T14:07:43.573 回答
0

对我来说,我犯了一个约定错误。解决方案是将类名和文件从TestFoo更改为FooTest.

于 2015-12-30T16:57:10.583 回答
0

我也面临同样的问题。我已经检查过我的文件名和类名分别与AuthTest.phpAuthTest相同。

但是我仍然收到相同的警告,可能是因为我已将 to 重命名ExampleTest.phpAuthTest.php.

无论如何,我已经删除了以前的文件并使用了php artisan make:test AuthTest 它并且它有效。

于 2016-05-12T06:03:43.767 回答