0

我正在使用一个函数来测试每个页面中是否存在数组。我正在使用 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');
    }
}
4

1 回答 1

0

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

编辑

呃......好吧,这不能回答你的问题,我一开始不明白。所以,assertViewHas来自 Laravel 的扩展 PHPUnit vendor\laravel\Illuminate\Foundation\Testing\TestCase.php并且基本上检查它是否是一个视图实例,如果它是一个数组并且只$this->assertEquals针对每个值。

assertEquals可以将自定义消息作为第三个参数,因此您可以做的是修改您的测试,而不是使用assertViewhasassertEquals以与assertViewHas(扩展 PHPUnit,而不是 Laravel 的测试用例)类似的方式并提供您的自定义消息。

于 2013-10-22T11:46:24.897 回答