繁体   English   中英

在 Symfony2 Beta3 中不断收到“您请求了一个不存在的服务“test.client””

[英]Keep getting 'You have requested a non-existent service “test.client”' in Symfony2 Beta3

我正在尝试设置单元测试,但每当我运行“phpunit -c app”时,我都会收到此错误:

Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException:您请求了一个不存在的服务“test.client”。

我的测试用例中的代码只是:

public function testNonAuthenticatedPathsIndex()
{
    $client = $this->createClient();
}

如果我不调用 createClient 一切都会正常运行。 我检查了 AppKernel.php 以确保 FrameworkBundle(我相信这是定义此服务的位置)肯定仍然存在并且确实存在。

我对可能导致这种情况的原因感到有些困惑,因为我以前曾设法做这种事情。

谢谢你的帮助。

您是否在config_test.yml中启用了framework.test选项?

framework:
  test: ~

phpunit.xml ,您应该具有如下环境变量:

<env name="APP_ENV" value="test"/>

symfony 版本 3.3.13 有这个问题。

config_test.yml文件很好,但我犯了同样的错误。

我解决了在php文件中的 php 下添加<server name ="APP_ENV" value="test" />选项

我的项目的远程构建有同样的问题。 此问题与我项目根目录中的空symfony.lock文件有关。 此文件用于防止 symfony 配方执行两次。 但是我的symfony.lock已损坏且为空,因此框架包执行了它的配方并将test中的我的APP_ENV变量替换为dev phpunit.xml.dist 它发生的原因是composer.json ( https://github.com/symfony/flex/issues/347 ) 中的repositories节点

我正在通过手动在symfony.lock中添加依赖项来解决这种情况

composer 需要 symfony/browser-kit

定义test.client取决于AbstractBrowser::class存在

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM