当前位置: 首页 > 知识库问答 >
问题:

带有SpringJUnit4ClassRunner的Junit测试套件

汪典
2023-03-14

我有一个测试套件:

@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测试应用程序属性位于测试/java/测试应用程序属性下,AB 类正在测试中/java/com.example.MyApp。如果我评论带有@TestPropertySource测试服运行正常,但未注释,我得到:

java.lang.非法状态异常: 无法加载应用程序上下文

在org . spring framework . test . context . cache . defaultcacheawarecontextloaderdelegate . load context(defaultcacheawarecontextloaderdelegate . Java:124)在org . spring framework . test . context . support . defaulttest context . getapplication context(defaulttest context . Java:83)在org . spring framework . boot . test . test . auto configure . autoconfigurereporttestexecutionlistener . preparestinstance(autoconfigurereporttestexecutionlistener . Java:49)在org . spring

  1. 这个设置有什么问题
  2. 这是属性文件的本地化吗
  3. 我可以使用@TestPropertySource吗

编辑原因是:

原因:java.io.FileNotFoundException:类路径资源[testApplication.properties]不存在,无法打开

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

共有1个答案

刘凡
2023-03-14

在尝试解决问题后,问题似乎属性文件必须位于测试/java/资源/测试应用程序属性中。所以答案是将属性文件放入资源目录中。

 类似资料:
  • 更新 根据新的构建系统,层次结构应该如下所示: 我还尝试扩展AndroidTestCase,并在两个父类中都收到了这个错误: 我尝试用这个解决方案解决这个错误,但是项目结构模块依赖项部分没有Android 1.6平台。所以,基本上,我不知道如何在类路径中将junit依赖项移到Android依赖项之上。

  • 问题内容: 如何使用JUnit 4创建测试套件? 我看过的所有文档似乎都不适合我。而且,如果我使用Eclipse向导,它不会为我提供选择已创建的任何测试类的选项。 问题答案:

  • 我正在为我的项目创建junit测试用例。我有下面的代码,我想在其中创建一个模拟, 我正在使用jUnit和mockito核心jar。我尝试了下面的代码, 使用上述代码,它在模拟loadProperties方法时抛出错误。如何模拟Spring静态类并返回我的模拟属性对象? 任何帮助都将不胜感激。

  • 基于此链接中的答案,创建了一个包含测试类的测试套件 返回错误 但是每个添加的测试类都有测试方法,并且单独运行

  • 我想运行一个junit4测试套件,并在构建中使用过滤器指定它。gradle,但gradle(版本2.10)没有找到测试。有没有办法在gradle中运行指定的junit测试套件? 我的测试套件类 build.gradle

  • 我在为SpringJUnit4ClassRunner.class)配置测试时遇到了问题。我的问题是因为我的映射器从map结构到达时返回null。