Citrus解决方案似乎无法读取citrus-context.xml中的Spring Bean Profile内容

时间:2019-05-01 15:34:02

标签: java spring citrus-framework

我正在尝试使用citrus进行一些功能测试,并试图利用Spring Profiles在不同的环境下运行Citrus Integration测试。 我遵循了here的一般方法: 我已经在\src\main\resources\spring\citrus-context.xml路径中创建并定位了citrus-context.xml文件:

在citrus-application.properties(位于src\main\resources\properties\citrus-applications.properties)中,我添加了以下属性:

citrus.spring.application.context=classpath*:citrus-context.xml

citrus-context.xml中,我对外部prop文件有一些引用:

<beans profile="test1">

        <!-- allows for ${} replacement in the spring xml configuration from the
            application-default.properties, application-test files on the classpath -->
        <context:property-placeholder
                location="classpath*:properties/application-env-base.properties, classpath*:properties/application-env-test1.properties"
                ignore-unresolvable="true" />

        <!-- scans for annotated classes in the com.env.test package -->
        <context:component-scan base-package="co.xx.xxx.xxxxxx.env.test1" />
</beans>

使用src\test文件,我希望能够从以下位置引用属性:

src\main\resources\properties\application-env-test1.properties

我尝试使用Java DSL进行配置,并且读取成功,但是根据https://citrusframework.org/citrus/reference/2.7/html/configuration.html Java App Config类和XML Application上下文文件应同时处理。

但是,永远不会在运行时读取这些值。上面的链接提供了一个示例项目,在导入时我可以很好地运行它,因此我知道建议是正确的。我不确定解决方案是否在我的Spring实现和Citrus的spring之间发生冲突-但我还没有看到证据表明Citrus Framework正在读取我的citrus-context.xml内容。

这种方法有明显的错误吗? enter image description here

0 个答案:

没有答案