Magento POST コントローラーのアクションをテストする方法はありますか? 例: 顧客ログイン:
Mage_Customer_AccountController::loginPostAction()
テストには EcomDev_PHPUnit モジュールを使用しています。基本的なアクションではうまく機能しますが、POST アクションを呼び出すことができません。
$this->getRequest()->setMethod('POST');
// ivokes loginAction instead loginPostAction
$this->dispatch('customer/account/login');
// fails also
$this->dispatch('customer/account/loginPost');
// but this assert pass
$this->assertEquals('POST', $_SERVER['REQUEST_METHOD']);
テストを多かれ少なかれ次のようにしたい
// ... some setup
$this->getRequest()->setMethod('POST');
$this->dispatch('customer/account/login');
// since login uses singleton, then...
$session = Mage::getSingleton('customer/session');
$this->assertTrue($session->isLoggedIn());