$ this-> get()仅适用于Laravel测试中的应用程序路由吗?

时间:2019-05-02 19:04:00

标签: laravel

我正在尝试检查文件 robots.txt 是否存在,但是我的测试返回了404。手动访问网址website.test/robots.txt是可行的。这使我相信$this->get()方法仅适用于已定义的路由。

这是我微不足道的测试,失败了:

$response = $this->get(env('APP_URL') . '/robots.txt');
$response->assertSuccessful();

$this->get()仅适用于Laravel测试中定义的路由,还是我做错了什么?

1 个答案:

答案 0 :(得分:1)

是的,->get()仅适用于定义的路由,因为它实际上并不发出HTTP请求,它只是在内部创建一个Request,然后返回响应。

检查文件是否存在的最简单方法是:

$this->assertTrue(file_exists(public_path('robots.txt')));

file_exists() docs
public_path() docs