codecamp

从测试调用路由

从单一测试中调用路由

你可以使用 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');
测试环境
模拟 Facades
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

环境配置

系统服务

哈希

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }