Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在具有Junit5和CitrusExtension的全局上下文中使用porperty文件中的值_Junit_Properties_Junit5_Citrus Framework - Fatal编程技术网

如何在具有Junit5和CitrusExtension的全局上下文中使用porperty文件中的值

如何在具有Junit5和CitrusExtension的全局上下文中使用porperty文件中的值,junit,properties,junit5,citrus-framework,Junit,Properties,Junit5,Citrus Framework,也许我走错了方向,或者完全误解了什么 我将Citrus IntegrationTest从Junit4Runner合并到Junit5(使用CitrusExtension) 有一个EndpointConfiguration类 还有一个测试类 @ExtendWith(CitrusExtension.class) @RunWith(JUnitPlatform.class) public class BaseIT{ @CitrusEndpoint protected HttpClient

也许我走错了方向,或者完全误解了什么

我将Citrus IntegrationTest从Junit4Runner合并到Junit5(使用CitrusExtension)

有一个EndpointConfiguration类

还有一个测试类

@ExtendWith(CitrusExtension.class)
@RunWith(JUnitPlatform.class)
public class BaseIT{
    @CitrusEndpoint
    protected HttpClient httpClient;
    @Value("${rest.session}") //defined in service-paths.properties
    private String sessionPath;
}
在测试类中,我希望访问service-path.properties文件中定义的值。 这对JUnit4有效,但在对JUnit5进行更改之后,这些属性似乎不再在“全局”上下文中可用。 将日志级别改为“调试”将显示已加载属性文件

所以我的问题是:为了访问IT类中的服务路径属性,我需要更改什么。我遗漏了什么,这种情况下的最佳实践是什么


提前感谢您的反馈。

通过
@value
注释解析属性值是Spring框架的核心功能。因此,您需要将SpringExtension添加到JUnit5测试中。除了使用CitrusExtension,您还可以执行此操作

@ExtendWith(CitrusExtension.class)
@RunWith(JUnitPlatform.class)
public class BaseIT{
    @CitrusEndpoint
    protected HttpClient httpClient;
    @Value("${rest.session}") //defined in service-paths.properties
    private String sessionPath;
}