![](/img/trans.png)
[英]How to run JUnit SpringJUnit4ClassRunner with Parametrized?
[英]Junit TestSuite with SpringJUnit4ClassRunner
我有一个测试套件:
@RunWith(Suite.class)
@Suite.SuiteClasses({
A.class,
B.class
})
public class TestSuite {
}
一类:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class A {
//nothing
}
B班:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
@TestPropertySource(value = "classpath:testApplication.properties")
public class B {
//nothing
}
现在问题出在@TestPropertySource
, testApplication.properties
位于test/java/testApplication.properties
,而A
和B
类位于test/java/com.example.MyApp
。 如果我用@TestPropertySource
测试服注释该行运行正常,但没有注释,我得到:
java.lang.IllegalStateException:无法加载ApplicationContext
在org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)在org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)在org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)在org.springframework.boot.test org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230)上的.autoconfigure.AutoConfigureReportTestExecutionListener.prepareTestInstance(AutoConfigureReportTestExecutionListener.java:49)在org.springframework.test.context.junit4.SpringJUnit4ClassRunner.Class.Spring :228)在org.springframework.test.context.junit4.SpringJUnit4ClassRunner $ 1.runReflectiveCall(SpringJUnit4ClassRunner.java:287)在org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)在org.springframework在org.springframework.test.context.junit4.SpringJ的.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289) org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)的Unit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247)
properties
文件的本地化吗? 编辑的原因是:
原因:java.io.FileNotFoundException:类路径资源[testApplication.properties]无法打开,因为它不存在
但是,为什么test/java/testApplication.properties
的位置?
尝试解决此问题后,似乎该properties
文件必须位于test/java/resources/testApplication.properties
。 因此,答案是将属性文件放入resources
目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.