Laravel 4在TestCase中找不到测试
我在使用phpunit时遇到了一些问题。当我执行测试,PHPUnit的给我这些警告:Laravel 4在TestCase中找不到测试
1)警告 没有在课堂上找到“照亮\基金会\测试\ TestCase的”测试。
2)警告 在“TestCase”类中找不到测试。
但我想忽略这些文件,这样的PHPUnit不会尝试从他们运行测试。
如何做到这一点?
希望现在您已经找到了答案,但如果你没有这可能帮助:
嗯 - 请确保文件名和类名的所有比赛了。例如,对于 示例,没有带有BarTest.php文件名的FooTest类。
另外,你肯定你在 app/tests目录下有一个* Test.php文件吗?
[...]
就是这样的,即我的测试一个曾在文件名-VS-类名拼写错误。奇怪的是,类错误在TestCase类中发出警告,而不是标记实际导致它的类。
来源: https://laracasts.com/forum/?p=83-warnings-for-testcase-illuminate-foundation-testing-testcase/0
基本上,确保你的文件名和类名相匹配。我也在这一块上敲了敲头。
一个额外的解决方案可能是使TestCase类抽象。通过这样做,PHPUnit将不会尝试在其中找到任何测试。
abstract class TestCase {
这个答案今天保存我的一天。非常感谢@德罗拉 – 2015-05-11 10:31:03
也保存了我。 PHPunit抱怨在环境设置的基类中的测试 – 2015-10-22 10:30:01
谢谢你真的回答了这个问题.. – 2016-01-19 00:57:07
对我来说,问题是,类名不匹配的文件名,这样一类定义为
class ExampleTest {
并没有被ExampleTest.php。
如果有你想忽略某些测试文件,然后进入phpunit.xml文件,其内部
<testsuite name="Application Test Suite">
<directory></directory>
</testsuite>
更换标签目录标签,并指定要使用特定的测试文件。
对我来说,我有一个常规错误。解决方法是将类名称和文件从TestFoo
更改为FooTest
。
我也面临同样的问题。我已检查过我的文件名和班级名称分别与AuthTest.php
和AuthTest
相同。
但我仍然得到相同的警告,也许是因为我已将ExampleTest.php
更名为AuthTest.php
。
无论如何,我删除了以前的文件,并使用php artisan make:test AuthTest
它的工作。
如果testcase(method)不以工作测试开始,也可能发生。 – Braders 2014-04-12 13:53:59
链接已死(这就是为什么SO答案中的链接是个坏主意)。 – Roscius 2014-05-25 00:31:14
快速提示:使基类(在本例中称为TestCase)成为抽象类。 – DerLola 2014-06-11 14:48:10