JUnit测试用例– Eclipse和Maven
时间:2020-02-23 14:35:25 来源:igfitidea点击:
JUnit测试用例是普通的Java类,带有要由JUnit框架执行的方法。
JUnit 5是早期版本的主要升级。
在Eclipse中创建JUnit测试用例
最新的Eclipse版本附带了对JUnit测试用例创建的内置支持。
我们可以在Eclipse中轻松创建JUnit测试用例类,如下所示。
转到 new | Eclipse中的JUnit测试用例。
在下一个弹出窗口中,提供测试类名称,其包,要生成的方法存根等。
请注意,Eclipse提供了创建JUnit 3,JUnit 4和JUnit Jupiter测试用例的选项。
除非您的项目使用的是较早版本的JUnit,并且尚未迁移到最新版本,否则最好创建JUnit Jupiter测试用例。
单击"完成"按钮后,将生成测试用例类。
您可以通过运行|运行该类。
运行方式| JUnit测试。
您也可以通过在"编辑器"窗口中右键单击或者选择类,然后在其上单击鼠标右键来访问此菜单。
JUnit Eclipse运行配置
您还可以创建运行配置以执行JUnit测试用例。
通过选择程序包或者仅选择一些方法在测试类中运行,运行配置有助于一次运行多个测试类。
运行JUnit测试时,将自动创建一个示例运行配置。
因此,您可以根据需要进行编辑。
使用Maven Build执行JUnit测试用例
如果您希望通过maven构建执行JUnit 5测试用例,则必须配置具有junit-platform-surefire-provider依赖项的" maven-surefire-plugin"。
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.0</version> <dependencies> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-surefire-provider</artifactId> <version>1.2.0</version> </dependency> </dependencies> </plugin> </plugins> </build>
这是我在示例项目中创建的简单JUnit测试类。
package com.theitroad.annotations; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import com.theitroad.utils.MyUtils; class MyUtilsTest { @BeforeAll static void setUpBeforeClass() throws Exception { System.out.println("Set Up Before Class - @BeforeAll"); } @AfterAll static void tearDownAfterClass() throws Exception { System.out.println("Tear Down After Class - @AfterAll"); } @BeforeEach void setUp() throws Exception { System.out.println("Set Up @BeforeEach"); } @AfterEach void tearDown() throws Exception { System.out.println("Tear Down @AfterEach"); } @Test void test_add() { assertEquals(10, MyUtils.add(5, 5)); } @Test void test_reverse() { assertEquals("cba", MyUtils.reverse("abc")); } }
当执行" mvn test"命令时,它将为我们的JUnit测试类执行生成以下代码段。
[INFO] Running com.theitroad.annotations.MyUtilsTest Set Up Before Class - @BeforeAll Set Up @BeforeEach Tear Down @AfterEach Set Up @BeforeEach Tear Down @AfterEach Tear Down After Class - @AfterAll [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 s - in com.theitroad.annotations.MyUtilsTest
如果要跳过测试用例的执行,可以运行以下命令:
mvn clean install -Dmaven.test.skip=true