自動テストをしてくれと頼まれてcakephp3&phpunitでコードを書いていたのですが、備忘録的に小ネタを。
セッションの引き継ぎ
HogeControllerTest.php
$this->post ( url1 );
$this->post ( url2 );
と書くとurl1で作ったセッションがurl2に渡らない、そんなときは
HogeControllerTest.php
$this->post ( url1 );
$this->session ( $this->_requestSession->read () );
$this->post ( url2 );
セッションに値を渡したい
HogeControllerTest.php
$this->session(['aaa'=>'bbb']);
セッションの検証
HogeControllerTest.php
$this->assertSession ( ['エラー'], 'errors');
セッションの取得
HogeControllerTest.php
$hoge = $this->_requestSession->read ('aaa');
set()された値の取得
HogeControllerTest.php
$hoge = $this->viewVariable ( 'aa' );
これで一通りのテストコードを書くことができます