📑
SymfonyでFormInterface実装クラスを配列として使ってる箇所のテスト用モックの作り方
SymfonyでFormInterface実装クラス(例:Symfony\Component\Form\Form)を配列として使ってる
public function someMethod(FormInterface $form)
{
if ($form['some_param']->getData() === 'hoge') {
return true;
}
return false;
}
↑みたいなやつのメソッドのテストを書く時のモックの作り方のメモ
public function testSomeMethod()
{
$value = $this->createMock(FormInterface::class);
$value->expects($this->any())
->method('getData')
->willReturn('hoge');
$mock = $this->createMock(FormInterface::class);
$mock->expects($this->any())
->method('offsetGet')
->willReturn($value);
$someObj = new SomeObj();
$result = $someObj->someMethod($mock);
$this->assertTrue($result);
}
Discussion