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
有关,而不是将对象输出到控制台。
我有一个 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
有关,而不是将对象输出到控制台。