我有一个返回View::make($string)
的函数。我想测试这个函数确实返回了一个View对象的实例。 $string
指向确实存在的文件。
当我尝试在Phpunit中运行此功能时,它似乎没有完成。如何在Phpunit中测试View对象是否已创建?
答案 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
有关,而不是将对象输出到控制台。