JUnit教程 -- 使用Eclipse的JUnit实例
2016-07-22 10:38
661 查看
在本节中,我们将展示使用JUnit的一个完整的例子。我们将详细了解如何创建和运行测试,我们将展示如何使用特定的注释和JUnit断言。
提示:
或者,可以通过右键点击项目创建一个新的源文件夹,选择Properties -> Java Build Path, 选择标签 Source, 选择 Add Folder -> Create New Folder, 写上名称为test,然后按 Finish。
可以很容易地看到,在项目中有两个源文件夹:
还可以创建一个新的包在新创建的测试文件夹,名称为 com.javacodegeeks.junit, 测试类不会在默认包中,我们已经准备好了,现在就开始吧!
FirstDayAtSchool.java
然后点击 Finish. 如果您的项目不包含JUnit库在classpath中,下面的消息会显示成为将JUnit库添加到类路径:
下面,有一个名为:FirstDayAtSchoolTest.java 类,这个测试类的代码如下所示:
FirstDayAtSchool.java
现在,我们可以通过右击运行测试测试类用例,选择 Run As -> JUnit Test.
程序将输出类似如下所示:
在JUnit视图将没有失败或错误。如果改变其中一个数组,以便它包含超过预期的元素:
我们再次运行测试类,JUnit视图将包含一个错误:
否则,如果我们再次更改其中一个数组,让它包含一个不同的元素:
我们再次运行测试类,JUnit视图将再一次失败:
1. 初始步骤
让我们创建一个名为 JUnitGuide 的Java项目. 在 src 文件夹, 我们用鼠标右键单击并选择 New -> Package, 创造一个新的包名为: com.yiibai.junit 这里我们将定位类用于测试。 对于测试类,一个很好的做法就是创建专用于测试的一个新的源文件夹,这样的类用于测试以及测试类将在不同的源的文件夹。 为此,右键单击您的项目,选择 New -> Source Folder, 命名新的源文件夹test 并点击 Finish.提示:
或者,可以通过右键点击项目创建一个新的源文件夹,选择Properties -> Java Build Path, 选择标签 Source, 选择 Add Folder -> Create New Folder, 写上名称为test,然后按 Finish。
可以很容易地看到,在项目中有两个源文件夹:
还可以创建一个新的包在新创建的测试文件夹,名称为 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 测试选择。然后点击 Finish. 如果您的项目不包含JUnit库在classpath中,下面的消息会显示成为将JUnit库添加到类路径:
下面,有一个名为: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视图将包含一个错误:
否则,如果我们再次更改其中一个数组,让它包含一个不同的元素:
String[] bag1 = { "Books", "Notebooks", "Rulers" };
我们再次运行测试类,JUnit视图将再一次失败:
相关文章推荐
- Android之使用Http协议实现文件上传功能
- mysql集群之MMM简单搭建
- 通晓网络测试常用命令
- Nodejs学习笔记之测试驱动
- 可以测试javascript运行效果的代码
- 使用php测试硬盘写入速度示例
- python 测试实现方法
- 如何测试端口通不通(四种方法)
- 举例详解PHP脚本的测试方法
- 使用Jasmine和Karma对AngularJS页面程序进行测试
- Php-Redis安装测试笔记
- mysql压力测试脚本实例
- JavaScript 组件之旅(四):测试 JavaScript 组件
- js简单网速测试方法完整实例
- Android App开发的自动化测试框架UI Automator使用教程
- Android触屏测试实例代码
- 解析libcurl在android下的移植、编译与测试
- 几个比较实用的JavaScript 测试及效验工具
- Spring测试 其实很简单
- Java中对AtomicInteger和int值在多线程下递增操作的测试