在Phpunit中查看:: make

时间:2017-11-03 12:03:59

标签: laravel phpunit laravel-5.4

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

当我尝试在Phpunit中运行此功能时,它似乎没有完成。如何在Phpunit中测试View对象是否已创建?

3 个答案:

答案 0 :(得分:1)

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);

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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