首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpunit中的错误状态代码

phpunit中的错误状态代码
EN

Stack Overflow用户
提问于 2012-07-18 00:55:50
回答 2查看 4K关注 0票数 2

在我的测试用例中,我总是得到200/ok的状态码,即使请求的页面不存在。

代码语言:javascript
复制
public function testCompleteScenario()
{
    $client = static::createClient();

    $container = $client->getContainer();
    $kernel    = $client->getKernel();

    $crawler = $client->request('GET', '/somethingnotexisting');
    $this->assertTrue(200 === $client->getResponse()->getStatusCode());

}

我在netbeans 7.1中使用phpunits,我的symfony防火墙被配置为只允许经过身份验证的用户。否则,它们将被重定向至登录页面。

也许有一些php.ini调优要做?

编辑:

以下是我从netbeans获得的代码:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-21 00:41:22

我花了3天的时间来解决这个问题。

我把我的PHPUnit版本从3.6.11降到了3.5.14。

它现在可以更好地与NetBeans配合使用

票数 0
EN

Stack Overflow用户

发布于 2012-07-18 16:26:53

首先按照@AdrienBrault的建议,使用assertEquals:

代码语言:javascript
复制
$this->assertEquals(200, $client->getResponse()->getStatusCode());

这样,您将看到返回了什么状态代码。

你可能会得到301或302 (重定向),因为默认情况下功能测试客户端不会重定向。

尝试如下所示:

代码语言:javascript
复制
public function testCompleteScenario()
{
    $client = static::createClient();

    $container = $client->getContainer();
    $kernel    = $client->getKernel();

    $client->request('GET', '/somethingnotexisting');
    $crawler = $client->followRedirect();

    $this->assertEquals(200, $client->getResponse()->getStatusCode());
}

请参阅:http://symfony.com/doc/current/book/testing.html#redirecting

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11527246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档