View::make 在 Phpunit 中

View::make in Phpunit

我有一个 return 是 View::make($string) 的函数。我想测试这个函数确实 return View 对象的一个​​实例。 $string 指向一个确实存在的文件。

当我在 Phpunit 中尝试 运行 这个函数时,它似乎没有完成。我如何在 Phpunit 中测试是否创建了 View 对象?

当您提供无效字符串时,将不会创建视图对象并抛出异常。不确定你的函数中有什么可以防止异常,但解决这个问题的方法是将这一行包含在失败的测试中:

    $this->expectException(InvalidArgumentException::class);

Laravel 有专门为测试视图设计的辅助方法。

其中一些包括:

$response = $this->get('/path/to-your-route');


$response->assertViewIs($value);

$response->assertViewHas($key, $value = null);

$response->assertViewHasAll(array $data);

$response->assertViewMissing($key);

可在此处找到更多信息:https://laravel.com/docs/5.5/http-tests#available-assertions

如果您需要断言某个东西是其他东西的实例,您可以尝试以下操作:

$this->assertInstanceOf($expected, $actual);

问题源于 var_dump 的使用,因为我想查看有问题的对象。由于输出中没有显示任何内容,我认为这与 View::make 有关,而不是将对象输出到控制台。