gpt4 book ai didi

java - Junit TestSuite 与 SpringJUnit4ClassRunner

转载 作者:行者123 更新时间:2023-11-30 02:49:25 25 4
gpt4 key购买 nike

我有一个测试套件:

@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 >AB 类位于 test/java/com.example.MyApp 下。如果我用 @TestPropertySource 测试套件注释该行运行正常,但未注释它,我得到:

java.lang.IllegalStateException: Failed to load ApplicationContext

at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83) at org.springframework.boot.test.autoconfigure.AutoConfigureReportTestExecutionListener.prepareTestInstance(AutoConfigureReportTestExecutionListener.java:49) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)

  1. 此设置有什么问题?
  2. properties 文件的本地化吗?
  3. 我可以使用@TestPropertySource吗? ?

编辑造成的原因是:

Caused by: java.io.FileNotFoundException: class path resource [testApplication.properties] cannot be opened because it does not exist

但是为什么找不到 test/java/testApplication.properties 中的位置?

最佳答案

尝试解决问题后,问题似乎是 properties 文件必须位于 test/java/resources/testApplication.properties 中。所以答案是将属性文件放入 resources 目录中。

关于java - Junit TestSuite 与 SpringJUnit4ClassRunner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39180994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com