从测试调用路由

2018-02-24 15:52 更新

从单一测试中调用路由

你可以使用 call 方法,轻易地调用你的任何一个路由来测试:

$response = $this->call('GET', 'user/profile');
$response = $this->call($method, $uri, $parameters, $cookies, $files, $server, $content);

接着你可以检查 Illuminate\Http\Response 对象:

$this->assertEquals('Hello World', $response->getContent());

从测试调用控制器

你也可以从测试调用控制器:

$response = $this->action('GET', 'HomeController@index');
$response = $this->action('GET', 'UserController@profile', ['user' => 1]);

注意: 当使用 action 方法的时候,你不需要指定完整的控制器命名空间。只需要指定 App\Http\Controllers 命名空间后面的类名称部分。

getContent 方法会返回求值后的字串内容响应。如果你的路由返回一个 View,你可以通过 original 属性访问它:

$view = $response->original;
$this->assertEquals('John', $view['name']);

你可以使用 callSecure 方法去调用 HTTPS 路由:

$response = $this->callSecure('GET', 'foo/bar');
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号