"无法在测试上下文中打开ServletContext资源"

Flo*_*ian 8 java spring unit-testing

我正在尝试用Spring创建一个单元测试.

测试类:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = {MyConfig.class})
public class MyTest{
@Test
public void ...
}
Run Code Online (Sandbox Code Playgroud)

要加载的类:

@ConfigurationProperties()
@PropertySource("config/myConfig.properties")
@Component
public class MyConfig {}
Run Code Online (Sandbox Code Playgroud)

例外:

引起:org.springframework.beans.factory.BeanDefinitionStoreException:无法解析配置类[de.db.sus.converter.fia.business.algorithm.config.FiaConverterConfig]; 嵌套异常是java.io.FileNotFoundException:无法打开ServletContext资源[/config/myConfig.properties]

我找到了用于Web应用程序和/或基于xml的配置的资源,但不适用于传输它们.

如果我将使用@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)属性get 启动应用程序.但我不能为每个单元测试启动整个应用程序.

我已经验证该文件存在于test/resources/config /目录中

Mos*_*rad 12

似乎无法找到所请求的属性.我建议这样做:

如果请求的属性文件在您的类路径中,您只需编写下一行即可解决上述问题:

@PropertySource("classpath:config/myConfig.properties")