2014-03-13 42 views
4

我正在使用gradle构建并测试我的应用程序。我使用命令运行gradle测试时找不到属性文件

gradle test 

但是,在使用gradle运行时,在eclipse中运行时完美运行的测试失败。我的测试在下面定义,它找不到的属性文件位于以下两个文件夹中:

/home/user/Development/git/myproject/src/main/java/com/mycompany/config /home/user /开发/ git的/ myproject的/ src目录/测试/资源

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = {  ApplicationConfig.class }) 
public class WebImportTest { 
    @Resource 
    private Environment env; 

    @Autowired 
    private JestClient jestClient; 

我的Java的配置看起来像这样:

@Configuration 
@ComponentScan({ "com.mycompany" }) 
@PropertySource("classpath:/com/mycompany/config/myproject.properties") 
@Import(PersistenceConfig.class) 
public class ApplicationConfig { 

    @Resource 
    private Environment env; 

我没有遇到足够为了弄清楚这是什么

的原因
:myproject is getting tests from [task ':test'] 
:compileJava 
Note: /home/user/Development/git/myproject/src/main/java/com/mycompany/entities/generated/Keys.java uses unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 
:processResources UP-TO-DATE 
:classes 
:instrument SKIPPED 
:copyCoberturaDatafile SKIPPED 
:compileTestJava 
:processTestResources UP-TO-DATE 
:testClasses 
:test 

com.mycompany.myProject.DBConnectionTest > initializationError FAILED 
java.lang.Exception 

com.mycompany.myProject.WebImportTest > testWebImport FAILED 
    java.lang.IllegalStateException 
     Caused by: org.springframework.beans.factory.BeanDefinitionStoreException 
      Caused by: java.io.FileNotFoundException 

为什么找不到属性文件?

回答

5

属性文件需要进入src/main/resources/com/mycompany/config

+0

就是这样。这意味着如果在测试过程中使用了java配置文件,它将尝试从相应的资源文件夹中获取属性文件。尼斯。谢谢 –

+3

等一下。如果属性文件只用于测试,它应该在'src/test/resources/com/mycompany/config'下。如果它应该与生产代码一起发货,它应该放在'src/main/resources/com/mycompany/config'下。 –

相关问题