gpt4 book ai didi

php - 断言 HTTP 状态代码为 200 而不是 500 失败

转载 作者:搜寻专家 更新时间:2023-10-31 21:11:01 29 4
gpt4 key购买 nike

我正在尝试功能测试特定请求的 HTTP 状态代码是 200 而不是 500。我正在使用 Symfony2,这是代码:

public function testIndex()
{
$client = static::createClient();
$crawler = $client->request('GET', "/");
$this->assertEquals('Ibw\JobeetBundle\Controller\JobController::indexAction', $client->getRequest()->attributes->get('_controller'));
$this->assertEquals(200 , $client->getResponse()->getStatusCode());
$this->assertEquals(0, $crawler->filter('.jobs td.position:contains("Expired")')->count());
}

结果:

1) Ibw\JobeetBundle\Tests\Functional\JobControllerTest::testIndex Failed asserting that 500 matches expected 200.

当我通过浏览器手动访问路由“/”时,它工作正常。

那么这里有什么问题呢?

最佳答案

500 错误可能是由您的情况引起的。

在这种情况下,您可以做的是转储响应的内容并检查 Symfony 调试消息。

我通常使用这样的代码片段直接在终端中快速检查此类错误:

if (!$response->isSuccessful()) {
$block = $crawler->filter('div.text_exception > h1');
if ($block->count()) {
$error = $block->text();
}
}

其中 div.text_exception > h1 是从 Symfony2 调试页面到消息本身的 xpath

然后打印$error

关于php - 断言 HTTP 状态代码为 200 而不是 500 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19426364/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com