在本节中,我们将展示使用JUnit的一个完整的例子。我们将详细了解如何创建和运行测试,我们将展示如何使用特定的注释和JUnit断言。

1. 初始步骤

让我们创建一个名为 JUnitGuide 的Java项目. 在 src 文件夹, 我们用鼠标右键单击并选择 New -> Package, 创造一个新的包名为: com.yiibai.junit 这里我们将定位类用于测试。 对于测试类,一个很好的做法就是创建专用于测试的一个新的源文件夹,这样的类用于测试以及测试类将在不同的源的文件夹。 为此,右键单击您的项目,选择 New -> Source Folder, 命名新的源文件夹test 并点击 Finish.

Test类 java怎么创建一个Cuboid java怎么创建一个测试类_java创建junit

提示:

或者,可以通过右键点击项目创建一个新的源文件夹,选择Properties -> Java Build Path, 选择标签 Source, 选择 Add Folder -> Create New Folder, 写上名称为test,然后按 Finish。

可以很容易地看到,在项目中有两个源文件夹:

Test类 java怎么创建一个Cuboid java怎么创建一个测试类_测试类_02

还可以创建一个新的包在新创建的测试文件夹,名称为 com.javacodegeeks.junit, 测试类不会在默认包中,我们已经准备好了,现在就开始吧!

2. 创建Java类用于测试

右键单击src文件夹并创建一个新的Java类称为 FirstDayAtSchool.java. 这个类的公共方法将被测试。

FirstDayAtSchool.java

package com.yiibai.junit;

import java.util.Arrays;

public class FirstDayAtSchool {

public String[] prepareMyBag() {

String[] schoolbag = { "Books", "Notebooks", "Pens" };

System.out.println("My school bag contains: "

+ Arrays.toString(schoolbag));

return schoolbag;

}

public String[] addPencils() {

String[] schoolbag = { "Books", "Notebooks", "Pens", "Pencils" };

System.out.println("Now my school bag contains: "

+ Arrays.toString(schoolbag));

return schoolbag;

}

}

3. 创建和运行JUnit测试案例

要为现有类 FirstDayAtSchool.java 创建一个JUnit测试案例, 在Package Explorer视图上右键单击并选择 New → JUnit Test Case. 更改源文件夹,这样的类将位于 test 源文件夹并确保该标志 New JUnit4 测试选择。

Test类 java怎么创建一个Cuboid java怎么创建一个测试类_java创建junit_03

然后点击 Finish. 如果您的项目不包含JUnit库在classpath中,下面的消息会显示成为将JUnit库添加到类路径:

Test类 java怎么创建一个Cuboid java怎么创建一个测试类_测试类_04

下面,有一个名为:FirstDayAtSchoolTest.java 类,这个测试类的代码如下所示:

FirstDayAtSchool.java

package com.yiibai.junit;

import static org.junit.Assert.*;

import org.junit.Test;

public class FirstDayAtSchoolTest {

FirstDayAtSchool school = new FirstDayAtSchool();

String[] bag1 = { "Books", "Notebooks", "Pens" };

String[] bag2 = { "Books", "Notebooks", "Pens", "Pencils" };

@Test

public void testPrepareMyBag() {

System.out.println("Inside testPrepareMyBag()");

assertArrayEquals(bag1, school.prepareMyBag());

}

@Test

public void testAddPencils() {

System.out.println("Inside testAddPencils()");

assertArrayEquals(bag2, school.addPencils());

}

}

现在,我们可以通过右击运行测试测试类用例,选择 Run As -> JUnit Test.

程序将输出类似如下所示:

Inside testPrepareMyBag()

My school bag contains: [Books, Notebooks, Pens]

Inside testAddPencils()

Now my school bag contains: [Books, Notebooks, Pens, Pencils]

在JUnit视图将没有失败或错误。如果改变其中一个数组,以便它包含超过预期的元素:

String[] bag2 = { "Books", "Notebooks", "Pens", "Pencils", "Rulers"};

我们再次运行测试类,JUnit视图将包含一个错误:

Test类 java怎么创建一个Cuboid java怎么创建一个测试类_java_05

否则,如果我们再次更改其中一个数组,让它包含一个不同的元素:

String[] bag1 = { "Books", "Notebooks", "Rulers" };

我们再次运行测试类,JUnit视图将再一次失败:

Test类 java怎么创建一个Cuboid java怎么创建一个测试类_源文件_06