Laravel测试中的自动加载

时间:2013-05-15 09:35:22

标签: testing phpunit laravel autoload laravel-3

我正在尝试开始在Laravel中编写测试。 我认为编写自己的基本TestCase是一种很好的做法,它运行测试设置(例如迁移)。

<?php

class TestCase extends PHPUnit_Framework_TestCase {
    public function setUp()
    {
        parent::setUp();

        // just for example:
        DB::table('categories')->first();
    }

}

之后,我想继承上面创建的所有TestCase

<?php

class TestExample extends TestCase {
    public function testSomethingIsTrue()
    {
        $this->assertTrue(true);    
    }
}

所以现在我有三个问题:

  1. 我的TestCase抛出错误,找不到类DB。为什么测试不是自动加载Laravel框架类?

  2. PHPUnit告诉我(有警告)我的TestCase不包含任何测试,但这是我怀疑这个类的行为,我该如何避免这个消息?

  3. 我的TestExample找不到类TestCase。

  4. 你能帮我理解吗?!如何配置特定于测试的自动加载?

    更新: 答案1:因为我在NetBeans IDE中运行测试,所以需要进行配置!设置正确的phpunit.xml有帮助

1 个答案:

答案 0 :(得分:2)

正如我们的讨论中所揭示的,当您使用IDE(NetBeans,PhpStrom等)运行PHPUnit测试时,您必须确保正确配置IDE以捕获phpunit.xml