请解释为什么Laravel 4的示例测试失败了。
我的" /"路线重定向到"登录"在我的routes.php文件中。
(哦,我是RTFMed并搜索了几个网站,博客和内容。)
-sh-3.2$ phpunit
PHPUnit 4.0.7 by Sebastian Bergmann.
Configuration read from /home/dev/phpunit.xml
The Xdebug extension is not loaded. No code coverage will be generated.
F
Time: 83 ms, Memory: 13.50Mb
There was 1 failure:
1) ExampleTest::testBasicExample
Failed asserting that false is true.
/home/dev/app/tests/ExampleTest.php:14
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
-sh-3.2$
以下是ExampleTest.php的代码
<?php
class ExampleTest extends TestCase {
/**
* A basic functional test example.
*
* @return void
*/
public function testBasicExample()
{
$crawler = $this->client->request('GET', '/');
$this->assertTrue($this->client->getResponse()->isOk());
}
}
答案 0 :(得分:7)
测试失败,因为您获得302状态代码而不是200(因为重定向不在默认的routes.php文件中)。
如果你想测试重定向,那么Laravel只提供了几种方法。
如果您使用的是命名路线:
$this->assertRedirectedToRoute('login');
如果不是:
$this->assertRedirectedTo('login');
用于测试响应状态代码:
$this->assertResponseStatus(302);