我試圖熟悉Kohana中的PHPUnit測試。目前,我似乎遇到了Request :: current() - >在我的代碼中重定向調用的問題。PHPUnit和Kohana請求對象
例如,我試圖測試登錄功能。一旦我們的用戶成功登錄,我們使用上面的請求重定向行將其重定向到其主頁。問題是,當那條線在那裏時,測試似乎停在那裏,永遠不會返回結果。
這裏是我的測試是如何在此刻寫着:
class SampleTest extends Kohana_UnitTest_TestCase
{
protected $session;
public function setUp() {
parent::setUp();
$this->session = Session::instance();
}
public function testLogin()
{
$request = new Request('/login');
$request->method(HTTP_Request::POST)
->post(array('username' => 'username', 'password' => 'password'));
$request->execute();
$this->assertEquals($this->session->get('username'), 'password');
}
}
如果我註釋掉我登錄控制器以下行,一切都很正常:
Request::current()->redirect(); //redirect to home
我在做什麼錯?
謝謝!這確實是個問題。現在就像一個魅力! :) – Emilie 2012-03-31 02:38:45
實際上,爲了使重定向在我的應用程序本身中正確發生,我必須使用以下重定向行: $ this-> response-> headers(「Location」,URL :: site(NULL,TRUE) ); – Emilie 2012-03-31 03:25:41
修復了我的答案,包括您的建議。 – gspatel 2012-04-05 16:31:13