java - Mule 中的FunctionalTestCase - 如何在另一个流程之前加载一个流程?

标签 java spring unit-testing mule

我有一个 Mule 应用程序,我正在创建一些单元测试,包括一些模拟 Web 服务来测试某些功能。我正在使用测试骡流创建模拟 Web 服务,因此我正在注册 HTTP 入站端点。

当我运行测试时,我遇到了失败,因为我的一个 Spring 对象由于无法访问我的模拟 Web 服务而无法加载(Web 服务是动态加载的,因此在进行测试时,它解析为 localhost,否则它通常是外部服务)。我已经确保当我执行 getConfigResources() 时我在加载 spring 上下文 bean 之前加载了模拟 Web 服务流文件,但仍然收到错误。

有没有办法让 Mule/Spring 加载我的流程文件并启动我的 http:inbound-endpoint在我的 Spring beans 之前?

最佳答案

您可以尝试将 Spring bean 上的 depends-on 属性设置为 Mule 流的名称,但我怀疑它是否有效,而且我也不相信它是理想的东西。

否则,我唯一能想到的就是在功能测试用例的 @Before 方法中自己初始化 Spring bean 工厂。这将使您有机会传递您与模拟 HTTP 入站端点一起使用的动态端口的值(假设您确实使用动态端口,这是推荐的方法)。

关于java - Mule 中的FunctionalTestCase - 如何在另一个流程之前加载一个流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18724767/

相关文章:

android - RxJava2, Android -> 这个单元测试有什么问题

c# - 在 ValueSourceAttribute 上指定的 sourceName 必须引用非 null 静态字段、属性或方法

java - 如何与我的适配器类中的 fragment 进行通信

具有两个连续运算符的 Java 数学

java - 警报对话框不显示 strings.xml 中定义的 HTML

java - XML 中的独立参数在 Jetty 上生成,但不在 JBOSS 上生成

spring - 在 Spring 中使用 @Inject Instance<blah>

spring - 如何建议 (AOP) spring webflux web 处理程序捕获和转换 react 性错误

java - 如何限制java Controller 中多部分文件的大小

android - Robolectric ContentProvider 测试