1
프로젝트에서 내 폴더 구조는
: 자산이 같은 폴더에서로드 파일
./assets/strings.properties
./module1/src/main/java/{some-packages}/ContextConfig.java
./module1/src/test/java/{some-packages}/TestContextConfig.java
./module1/pom.xml
./module2/pom.xml
./pom.xml
ContextConfig에서 나는 일부 속성을 파일을로드 : 나는 classpath:
를 사용하지 않는
@PropertySources({
@PropertySource("file:assets/strings.properties")
})
public class ContextConfig {
/*some code...*/
}
공지 사항 하지만 file:
ContextConfig를 가져올 때 다음과 같이 임베디드 몽고를 활성화합니다.
@Configuration
@Import({
ContextConfig.class,
MongoAutoConfiguration.class
})
public class TestContextConfig {
}
내 테스트 클래스에서 사용하려고는 :이 등록 정보 파일을 찾을 수 없기 때문에
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TestContextConfig.class)
public class ProofOfConcept {
/*some code...*/
}
나는 FileNotFoundException이를 얻을 수 있지만, 응용 프로그램 (안 테스트에서) 정상적으로 시작되면 모든 것이 잘 작동한다. 예외 내가 얻을 :
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [{some-packages}.config.TestContextConfig]; nested exception is java.io.FileNotFoundException: assets\strings.properties (System nie może odnaleźć określonej ścieżki)
at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:495)
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:276)
어떻게 테스트에서 자산 폴더에서 파일을로드 할 수 있습니까?
다행히 문제가 해결되었습니다! – asg