我试图熟悉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