Phpunit 测试中的Artisan::call()失败

Phpunit 测试中的Artisan::call()失败,phpunit,laravel,laravel-4,Phpunit,Laravel,Laravel 4,我需要在运行测试之前清理数据库,否则我会收到关于重复信息的奇怪错误 在postest.php文件中,我创建了一个安装方法 public function setUp() { Artisan::call('migrate:refresh'); } phpunit测试则表示: PHP Fatal error: Class 'Artisan' not found in C:\wamp\www\squigglemd\app\tests\PostTest.php on line 11 我也试

我需要在运行测试之前清理数据库,否则我会收到关于重复信息的奇怪错误

在postest.php文件中,我创建了一个安装方法

public function setUp()
{
    Artisan::call('migrate:refresh');
}
phpunit测试则表示:

PHP Fatal error:  Class 'Artisan' not found in C:\wamp\www\squigglemd\app\tests\PostTest.php on line 11
我也试过:

\Artisan::call('migrate:refresh');

如何从测试中调用Artisan?

以下是如何在Artisan::call不工作时从测试函数中调用Artisan

    public function setUp()
{
    parent::setUp();

    $app->make('artisan')->call('migrate:refresh');
    //Artisan::call('migrate:refresh'); // also works now too


}
最好用

public function setUp()
{   
    parent::setUp(); //this is reqired 

        Artisan::call('migrate:refresh');
}
文档中对此进行了描述

注意:如果您在测试类中定义了自己的设置方法,请确保调用parent::setUp


请参见

您应该简单地调用
parent::setUp()
,因为您正在重写此方法。使用facade也是一样的。(更正了父设置…这也是laravel 4的问题)