Php Laravel 4.2:测试用例自动加载
现在,当我为我的Laravel应用程序设置一个新的测试时,它从基本的Php Laravel 4.2:测试用例自动加载,php,laravel,phpunit,Php,Laravel,Phpunit,现在,当我为我的Laravel应用程序设置一个新的测试时,它从基本的TestCase类扩展而来 class SomeTest extends TestCase { } 我想创建一个名为的新基本测试类AnotherTestCase,这样我就可以创建共享setup/teardown/helper方法等的测试用例 class SomeTest extends AnotherTestCase { } 然而,当我跑的时候 phpunit app/tests/SomeTest.php 我得到以下错误
TestCase
类扩展而来
class SomeTest extends TestCase
{
}
我想创建一个名为的新基本测试类AnotherTestCase
,这样我就可以创建共享setup/teardown/helper方法等的测试用例
class SomeTest extends AnotherTestCase
{
}
然而,当我跑的时候
phpunit app/tests/SomeTest.php
我得到以下错误
PHP Fatal error: Class 'AnotherTestCase' not found in /[...]/app/tests/SomeTest.php on line 3
这是尽管事实上我有一个类定义在
#File: app/tests/AnotherTestCase.php
<?php
class AnotherTestCase extends TestCase
{
}
#文件:app/tests/AnotherTestCase.php
您可以通过将其添加到composer.json
中来避免此错误:
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/filters",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/tests/AnotherTestCase.php" // <-- Add Me
],
// ...
并将我现有的一个测试改为将其用作其父测试。我相信composer.json
中的条目就是如何加载TestCase
啊,谢谢!对于未来的读者,如果问题不明显,Laravel会在其composer.json文件中附带app/tests/TestCase.php。这就是自动加载第二个测试用例的原因。没问题。很高兴我能回答我所有的magento问题:)
class AnotherTestCase extends TestCase {}