当前位置: 首页 > 知识库问答 >
问题:

如何防止Symfony 4服务覆盖?

侯向文
2023-03-14

我有base/config/services。yaml在我的Symfony 4.3项目中存储了许多服务。例如:

My\Namespace\Service:
  - '@My\Namespace\Dependency'

对于我的测试目的,我有配置/测试/test_services.yaml,其中存储带有'test.'前缀的服务,以测试私有服务,使它们在test env中公开。

服务之一,在test_服务中声明。yaml没有前缀。它的名称(FQCN)与服务中定义的另一个名称相同。亚马尔。它们具有相同类型的不同构造函数参数。

测试一(/config/test_services.yaml)已模拟返回夹具数据的依赖项:

My\Namespace\Service:
  - '@My\Namespace\MockedDependency'

有没有一种方法可以防止服务覆盖在测试环境中的测试执行期间不将模拟服务替换为真实服务?

共有1个答案

皮安顺
2023-03-14

这种情况的解决方案是创建services\u测试。yaml文件,并将其与服务一起放在/config文件夹下。yaml

在这种情况下,symfony将不会覆盖服务,而是使用services\u测试中定义的服务。yaml在测试执行期间

 类似资料:
  • 如图是一个简化的下单流程,首先是提交订单,然后是支付。支付的话,一般是走支付网关(支付中心),然后支付中心与第三方支付渠道(微信、支付宝、银联)交互,支付成功以后,异步通知支付中心,支付中心更新自身支付订单状态,再通知业务应用,各业务再更新各自订单状态。 这个过程中经常可能遇到的问题是掉单,无论是超时未收到回调通知也好,还是程序自身报错也好,总之由于各种各样的原因,没有如期收到通知并正确的处理后续

  • 如图是一个简化的下单流程,首先是提交订单,然后是支付。支付的话,一般是走支付网关(支付中心),然后支付中心与第三方支付渠道(微信、支付宝、银联)交互,支付成功以后,异步通知支付中心,支付中心更新自身支付订单状态,再通知业务应用,各业务再更新各自订单状态。 这个过程中经常可能遇到的问题是掉单,无论是超时未收到回调通知也好,还是程序自身报错也好,总之由于各种各样的原因,没有如期收到通知并正确的处理后续

  • 问题内容: 有没有一种方法可以使类函数不可重写?类似于java的关键字。即,任何覆盖的类都不能覆盖该方法。 问题答案: 问题是您正在尝试使用Java哲学来用Python编写。有些东西会延续,但不是全部。在Python中,您可以执行以下操作,这非常好,但是完全违反了Java对对象的看法。 如果您确实需要,可以尝试此处发布的代码。但是正如您所看到的,有很多代码可以让它执行您想要的操作。还应注意,即使是

  • 本文向大家介绍MongoDB中如何做到更新并防止覆盖,包括了MongoDB中如何做到更新并防止覆盖的使用技巧和注意事项,需要的朋友参考一下 让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是要更新的查询- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 嗨,我有一个maven项目,需要在集成测试开始之前将2个WAR部署到一个jetty环境中。在正常情况下,这些WAR不是项目的依赖项,但它们需要分开部署,以便集成测试发挥作用。 有人知道如何在只下载依赖项而不做任何更多事情的war上添加依赖项吗?

  • 问题内容: 调用的方法: 1. Struts Action 2.服务类方法(由@Transactional注释) 3. Xfire Web服务调用 包括struts(DelegatingActionProxy)和事务在内的所有内容都使用Spring进行配置。 持久性是通过JPA / Hibernate完成的。 有时,Web服务将引发未经检查的异常。我捕获了此异常并抛出了一个已检查的异常。我不希望事