【发布时间】:2017-03-14 11:47:45
【问题描述】:
我想测试一个控制器:
$deviceGet = strtolower($request->query->get('device'));
我的问题是:如何模拟它以在我的控制器中进行测试?
class SetDeviceListenerTest extends \PHPUnit_Framework_TestCase {
/**
* @test
* @dataProvider deviceGetCases
*/
public function shouldSetRequestDeviceWithDeviceGetOnMasterRequest(
?string $device
): void {
$request = $this->getRequestMock();
$request->expects($this->once())
->method('get')
->with('device')
->willReturn($device);
/* @var Request $request */
$request->server = new ServerBag();
$request->headers = new HeaderBag();
$event = $this->getEventMock();
$event->expects($this->once())
->method('isMasterRequest')
->willReturn(true);
返回错误是因为
$request->expects($this->once())
->method('get')
->with('device')
->willReturn($device);
失败
谢谢!!
【问题讨论】:
标签: symfony unit-testing phpunit