使用assert Session值进行CakePHP测试

时间:2014-04-10 02:43:05

标签: session cakephp testing assert

我有一个带有动作簿的控制器:

class SeatFormController extends AppController{
   public function book($layout,$tourcode,$date){
      if($tourcode){
          $this->Session->write('seatform_tourcode',$tourcode);
          .....
      }
   }
}

现在,我有SeatFormControllerTest类

class SeatFormControllerTest extends ControllerTestCase{
 public function testBook(){
  $result = $this->testAction('/tour/seat_form/book/plumeriabali/TPPTN6TM31-TPW');
 }
}

如何断言Session变量的值' seatform_tourcode'。 我尝试在测试中使用$this->controller->Session->read('seatform_tourcode'),但它不起作用。 我也尝试过:

$tourcode = 'TPPTN6TM31-TPW';
$this->controller->Session->expects(
            $this->once())->method('read')
            ->with($this->equalTo('seatform_tourcode'))
            ->will($this->returnValue($tourcode));

但似乎没有回复我的预期。

有什么建议吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

我认为我们可以使用:

$this->assertEquals($_SESSION['seatform_tourcode'.$tourcode],$tourcode);