我正在尝试为我的小型框架应用程序编写一些PHPUnit测试,但是在文档中没有看到任何指向完整请求和断言响应的方法(包含文本或200状态,或者什么,真的).
有没有办法做到这一点,任何人都找到/使用过?
首先,我想说 - 我是用PHP(phpunit)进行单元测试的新手.在我的新项目(slim3框架)中,我想测试我的控制器,例如LoginController.
我的想法是(在单元测试方法中)
LoginController__invoke)我的问题是关于__invoke方法的参数.在Slim3中,可调用的请求方法有两个第一个参数:
RequestInterface $request 和 ResponseInterface $response
如何在单元测试类中创建此参数?我正在寻找这个问题的一些例子,但没有成功.
有什么建议?
我在Slim3测试中发现了一些模拟请求的代码:
protected function requestFactory()
{
$uri = Uri::createFromString('https://example.com:443/foo/bar?abc=123');
$headers = new Headers();
$cookies = array(
'user' => 'john',
'id' => '123',
);
$env = Slim\Http\Environment::mock();
$serverParams = $env->all();
$body = new Body(fopen('php://temp', 'r+'));
$request = new Request('GET', $uri, $headers, $cookies, $serverParams, $body);
return $request;
}
Run Code Online (Sandbox Code Playgroud)
但我不确定这是好方法.
谢谢你的帮助