我想在Symfony中的服務中測試一個簡單的函數。symfony phpunit沒有收到期望的值
該函數獲取帖子值,如果存在並設置一個多維數組。 這是我的一個服務裏面功能:
public function setValue(Request $request)
{
for($i = 1; $i <= 3; $i++){
for($j = 1; $j <= 3; $j++){
if(($request->request->get('cell_' . $i . '_' . $j) != null){
$value = $request->request->get('cell_' . $i . '_' . $j);
echo('Value: ' . $value . '|');
$this->tiles[$i][$j] = $value;
}
else{
$this->tiles[$i][$j] = '0';
}
}
}
}
這是我測試的一部分(不是所有的測試,但一個簡單的一部分)
public function testGetSatusGameEnd()
{
$this->requestMock = $this
->getMockBuilder('Symfony\Component\HttpFoundation\Request')
->disableOriginalConstructor()
->getMock();
$this->requestMock->request = $this
->getMockBuilder('Symfony\Component\HttpFoundation\ParameterBag')
->disableOriginalConstructor()
->getMock();
$this->requestMock->request->expects($this->at(0))
->method('get')
->with('cell_1_1')
->will($this->returnValue('1'));
$board = new Board();
$board->setValue($this->requestMock);
var_dump($board->getArrayResult());
}
在這種情況下,我只設置了電池在理論上與值1,但是當我傾倒所有的結果我得到這個
array(3) {
[1] =>
array(3) {
[1] =>
NULL
[2] =>
string(1) "0"
[3] =>
string(1) "0"
}
[2] =>
array(3) {
[1] =>
string(1) "0"
[2] =>
string(1) "0"
[3] =>
string(1) "0"
}
[3] =>
array(3) {
[1] =>
string(1) "0"
[2] =>
string(1) "0"
[3] =>
string(1) "0"
}
}
因爲裏面cell_1_1
存在空值我檢查,但我預計將有1
不是空的! 我怎樣才能返回1
裏面cell_1_1
,我的模擬的錯誤是什麼?
感謝
是缺少')'第一,如果塊只是抄襲了錯誤?我試圖重新創建這個,這是我注意到的第一件事。 – mickadoo
對不起,這是從 –