获得laravel& phpunit在单元测试失败时发送消息

时间:2013-10-22 11:03:53

标签: unit-testing laravel phpunit laravel-4

我正在使用一个函数来测试每个页面中是否存在数组。我正在使用laravel的函数assertViewHas。如果我为每个页面测试这个数组存在一个函数,那就没问题了,但是当我可以让foreach为每个页面运行测试时,这似乎是浪费时间。但是,如果其中一个页面未能通过断言,我将不知道它是什么,phpunit只会说测试失败了。

那么,在命令行中运行$page时,有没有办法在失败错误中写入当前phpunit

....private $guest_pages=array('/','login','signup');

....
    public function testGuestViewsHaveContent ()
{
    foreach ($this->guest_pages as $page) {
        $response = $this->call('GET', $page);
        $this->assertViewHas('content');
    }
}

1 个答案:

答案 0 :(得分:0)

您是否尝试过回显$_SERVER['SCRIPT_NAME']

修改

Duh ......好的,这不能回答你的问题,我起初并不理解。 因此,assertViewHas来自Laravel扩展的PHPUnit vendor\laravel\Illuminate\Foundation\Testing\TestCase.php并且基本上检查它是否是视图实例,如果它是一个数组,并且每个值只有$this->assertEquals

assertEquals可以将自定义消息作为第三个参数,因此您可以采用与{{1 (扩展PHPUnit,而不是Laravel的测试用例)并提供自定义消息。