IDEA JUnit5测试套件运行错误的问题

1.问题

在Idea 2017.3中,创建JUnit5的测试用例Test Case,同时创建JUnit4的测试套件,运行测试套件时提示出错“java.lang.Exception: No runnable methods”。java

2.分析

Java进行单元测试时,通常会创建多个测试用例Test Case,或者多个测试类(每一个测试类包括多个测试用例),但若是须要同时运行这些测试用例,通常在JUnit4中会采用测试套件,经过运行测试套件,在套件中一次运行多个测试用例类。单元测试

参考解答:
可以使用JUnit 4运行套件,但它不适用于JUnit 5.测试

若是您使用的是IntelliJ IDEA 2016.2,则目前没法在IDE中执行使用@RunWith(JUnitPlatform.class)注释的测试类.ui

答案很长spa

根据你报告的行为,通过一些艰苦的调查工做,我相信我有你的问题的答案……code

若是您使用的是内置支持JUnit 5的IntelliJ IDEA 2016.2,那么如下是正在发生的事情.orm

IDEA经过Launcher API启动JUnit平台,选择使用@RunWith(JUnitPlatform.class)注释的测试类(让咱们称之为TestSuite).
Launcher检测到junit-jupiter和junit-vintage TestEngine实现.
JUnit Jupiter引擎忽略了TestSuite,由于它在技术上不是JUnit Jupiter测试类.
JUnit Vintage引擎也忽略了TestSuite,由于它是用@RunWith(JUnitPlatform.class)注释的.
最终结果是,既没有注册的测试引擎声称它能够运行TestSuite类.

3.解决方案

IntelliJ IDEA 2016.2后面的版本直接支持测试套件,不用写Java代码,您只需在IDEA的项目视图中右键单击测试类Java文件,而后选择Run ’XXX(Java文件名)’,这将运行该测试类中的全部测试用例,以下所示:blog

image.png

或者在测试类的包名点右键菜单,选择“Run Tests in XXX(包名)”便可运行该包中全部的测试用例,以下所示:it

image.png

《礼记·经解》:“君子慎始,差若毫厘,谬以千里”
相关文章
相关标签/搜索