首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JUnit测试获得了initializationError与java.lang.Exception:没有测试找到匹配

JUnit测试获得了initializationError与java.lang.Exception:没有测试找到匹配
EN

Stack Overflow用户
提问于 2017-12-08 09:01:27
回答 11查看 66.6K关注 0票数 23

在运行JUnit测试时,它提供了一个initializationError:没有找到匹配的测试。如下所示:

代码语言:javascript
运行
复制
prodapi-main-junit
initializationError(org.junit.runner.manipulation.Filter)
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=testCreateSite], {ExactMatcher:fDisplayName=testCreateSite(com.company.product.api.web.rest.HostControllerTest)], {LeadingIdentifierMatcher:fClassName=com.company.product.api.web.rest.HostControllerTest,fLeadingIdentifier=testCreateSite]] from org.junit.internal.requests.ClassRequest@3c0f93f1
    at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

测试代码如下:

代码语言:javascript
运行
复制
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = ProductApplication.class)
@WebAppConfiguration
public class HostControllerTest{
    @Test
    public void testCreateSite() throws Exception {
    ......
}
}

加载类应该很好,运行良好。还有与此类似的其他模块,它们可以正常运行。

我检查了可能的原因:

  1. 有人说,缺少"Test“注释会导致此错误。正如您所看到的那样,代码中确实有注释。
  2. 有人说,构建路径应该配置为在测试源文件夹下进行构建,获取测试类,然后导出。我反复检查的配置也起作用了。
  3. 也许测试类不是在编译时生成的,而我可以在目标文件夹下看到这些测试类。

我不知道是否还有其他可能的事情会导致这样的Junit测试错误。也许我应该检查一下类加载器?

EN

Stack Overflow用户

发布于 2022-01-02 14:11:31

是的,在VSCode测试视图中,对于基于JUnit的JPA测试,我经常会得到可怕的红色"InitializationError“,而且永远也找不到它。根据莫希特·巴沙克的评论,我改变了

代码语言:javascript
运行
复制
@SpringBootTest(classes = {MyApp.class})
public class MyTest {
...
}

代码语言:javascript
运行
复制
@SpringBootTest(classes = {com.xyz.MyApp.class})
public class MyTest {
...
}

到目前为止,我认为现在效果更好了。测试始终是绿色/完整的,甚至在gradle build命令行中运行良好。

票数 0
EN
查看全部 11 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47710837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档