【问题标题】:How to get default symfony3 functional test to pass?如何让默认的 symfony3 功能测试通过?
【发布时间】:2016-10-19 15:40:32
【问题描述】:

我开始探索 symfony3 并在安装后运行提供的功能测试通过

phpunit

在终端上,但我收到错误:

1) Tests\AppBundle\Controller\DefaultControllerTest::testIndex
Failed asserting that 500 matches expected 200.

通过浏览器点击页面是可行的。

需要更改哪些设置才能通过此测试?

【问题讨论】:

  • 查看var/log/test.log 文件了解更多详情。
  • 很酷的感谢现在是有道理的!
  • 嗨@fefe你解决了吗?
  • 是的,我之前添加了 FOSUserBundle 但未配置,这就是我在 test.log request.CRITICAL: Uncaught PHP Exception Symfony\Component\Config\Exception\FileLoaderLoadException: "Bundle "FOSUserBundle" does not exist or it is not enabled. 中得到的。感谢您的提示!
  • 关于措辞的旁注:即使您通过 phpunit 运行测试,它也不是单元测试而是功能测试,因为您通过 php 浏览器测试站点的功能,而不是方法的输出一定的输入。 You may want to read this answer

标签: phpunit symfony functional-testing


【解决方案1】:

错误是指这一行:

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

它预期的 html 响应代码为“200”,但您得到的是“500”,即“内部服务器错误”。

【讨论】:

  • 我意识到了,但为什么要放弃呢?正如我所说,如果我通过 Bowser 访问就可以了
  • 将响应的内容作为第三个参数传递给断言(消息)以获得失败测试的页面输出:$this->assertEquals(200, $client->getResponse()->getStatusCode(), $client->getResponse()->getContent());
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多