在为应用程序编写单元测试时,通常我会创建原始 main/resources
中的一些配置的副本,并出于测试目的对其进行修改,但我保留名称不变。然而,Junit 有时会采用 src 中的值,有时会采用 test/resources
中的值。
我们如何管理它选择哪一个而不重命名文件?
例如,我有一些“config.json”,它同时存在于测试资源和主资源中,junit 在运行测试时如何选择要选择的资源...
最佳答案
好的,简单回答一下:
您无法从 src/main/resources
中排除资源。它们始终位于您的类路径内,因此它们是您的程序/库的一部分。
但您不必这样做。
例如,Log4j2 允许在类路径中拥有不同名称的配置文件(在运行测试时)。只需将其命名为log4j2-test.xml
,它将在非测试文件之前加载。
当使用 @ContextConfiguration
注解测试类时,Spring 的行为是相同的。
关于java - Junit 使用正确的资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29740807/