tim*_*y L 4 phpunit unit-testing mocking symfony
我不明白怎么嘲笑这个: $requestStack->getCurrentRequest()->getContent()
有2种方法:getCurrentRequest()->getContent()它返回一个json对象(POST响应)
我在RequestStack课堂上使用symfony .
整个代码是
class MessageReceivedService
{
protected $message;
public function __construct(RequestStack $requestStack)
{
$this->message = json_decode($requestStack->getCurrentRequest()->getContent());
}
public function getMessage()
{
return $this->message;
}
}
Run Code Online (Sandbox Code Playgroud)
非常感谢你.
Ram*_*iss 10
你实际上不必模拟这个RequestStack类,因为它基本上是一个容器.
如果你想用它测试RequestStack,你可以做这样的事情:
<?php
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
class MessageReceivedServiceTest extends \PHPUnit_Framework_TestCase
{
public function test()
{
$request = new Request([], [], [], [], [], [], [], json_encode([
'foo' => 'bar'
]));
$requestStack = new RequestStack();
$requestStack->push($request);
// Do your tests
}
}
Run Code Online (Sandbox Code Playgroud)
当你调用currentRequest的$requestStack变量,它应该返回的$request变量.
| 归档时间: |
|
| 查看次数: |
1747 次 |
| 最近记录: |