我正在尝试使用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
内容。
这种方法有明显的错误吗?