在本节中,我们将看到一个简单的JUnit例子。

先创建一个工程,名称为:CalculateTest,并在这个工程上点击右键,选择:Build Path -> Add Library -> JUnit ...,如下图所示:

选择 JUnit 的库版本为:JUnit 4,如下图所示:

整个工程的结构如下:

首先,我们将介绍一个测试类:

Calculate.java

package com.yiibai.junit;

public class Calculate {

	public int sum(int var1, int var2) {
System.out.println("相加的值是: " + var1 + " + " + var2);
return var1 + var2;
} }

在上面的代码中,我们可以看到,类有一个公共的方法sum(), 它得到输入两个整数,将它们相加并返回结果。在这里,我们将测试这个方法。为了这个目的,我们将创建另一个类包括方法,将测试之前的类(在此情况下,我们只有一个方法进行测试)中每一个的方法。这是使用的最常见的方式。当然,如果一个方法非常复杂且要扩展,我们可以在一个以上的试验方法来测试这一复杂方法。创建测试用例的详细信息将显示在下面的部分。下面,有一个类是:CalculateTest.java,它具有我们的测试类的角色的代码:

CalculateTest.java

package com.yiibai.junit;

import static org.junit.Assert.*;

import org.junit.Test;

public class CalculateTest {

	Calculate calculation = new Calculate();
int sum = calculation.sum(2, 5);
int testSum = 7; @Test
public void testSum() {
System.out.println("@Test sum(): " + sum + " = " + testSum);
assertEquals(sum, testSum);
} }

让我们来解释一下上面的代码。首先,我们可以看到,有一个@Test的注解在 testSum()方法的上方。 这个注释指示该公共无效(public void)方法它所附着可以作为一个测试用例。因此,testSum()方法将用于测试公开方法 sum() 。 我们还可以观察一个方法 assertEquals(sum, testsum)。 assertEquals ([String message], object expected, object actual) 方法持有两个对象作为输入,并断言这两个对象相等。

如果要运行测试类,右键点击测试类,并选择 Run As -> Junit Test, 该程序的输出将类似于如下:

相加的值是: 2 + 5
@Test sum(): 7 = 7

若要查看JUnit测试的实际结果,Eclipse IDE提供了JUnit的窗口,它显示了测试的结果。 在这种情况下测试成功,JUnit 窗口不显示任何错误或失败,因为我们可以在下面的图片中看到(Errors 0):

现在,如果我们改变这一行的代码:

int testSum = 10;

使整数待测试不相等,则输出将是:

相加的值是: 2 + 5
@Test sum(): 7 = 10

在JUnit窗口,有一个错误将出现,并且会显示这样的信息:

java.lang.AssertionError: expected: but was:
at com.yiibai.junit.CalculateTest.testSum(CalculateTest.java:16)

Eclipse JUnit简单示例的更多相关文章

  1. HTML-003-模拟IDE代码展开收起功能简单示例

    当先我们在日常的编程开发工作中使用编程工具(例如 Eclipse.Sublime 等等)都有相应的代码折叠展开功能,如下图所示,极大的方便了我们的编码工作.

  2. lucene创建索引简单示例

    利用空闲时间写了一个使用lucene创建索引简单示例, 1.使用maven创建的项目 2.需要用到的jar如下: 废话不多说,直接贴代码如下: 1.创建索引的类(HelloLucene): packa ...

  3. [xfire]使用xfire开发webservice的简单示例

    目前项目上有用到xfire,所以临时看了些xfire的资料和示例,自己照着写了一个简单示例. xfire在2007年后已经停止更新,正式更名为apache cxf,也可以说是xfire2.0. xfi ...

  4. 2017.2.20 activiti实战--第二章--搭建Activiti开发环境及简单示例(二)简单示例

    学习资料:<Activiti实战> 第一章 搭建Activiti开发环境及简单示例 2.5 简单流程图及其执行过程 (1)leave.bpmn 后缀名必须是bpmn.安装了activiti ...

  5. Maven 创建项目之简单示例

    maven 是一个项目管理工具.可以用来管理jar包依赖,构建项目等. 那么接下来,就在eclipse中使用maven创建一个简单的项目. 1,依次点击File-> New -> Othe ...

  6. 一、什么是Velocity及简单示例

    1.velocity简介:    velocity是一个java模板引擎技术,任何人可以使用这种简单而又强有力的模板语言去获取java对象. 在使用Velocity进行web开发时,web开发人员和j ...

  7. Linux下的C Socket编程 -- server端的简单示例

    Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...

  8. C# 构建XML(简单示例)

    C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...

  9. 根据juery CSS点击一个标签弹出一个遮罩层的简单示例

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

随机推荐

  1. 超级账本 --- ReadWriteSet的逻辑结构

    用于时序校验,解决双花问题 (doublespending)• Endorser– 模拟执行交易,生成ReadSet和WriteSet– ReadSet是交易前key值的状态– WriteSet是交易 ...

  2. LeetCode: Binary Tree Level Order Traversal 解题报告

    Binary Tree Level Order Traversal Given a binary tree, return the level order traversal of its nodes ...

  3. 【Miktex】使用教程以及数学符号整理总结

    LaTeX是当今世界上最流行和使用最为广泛的 TeX格式.它构筑在 Plain TeX的基础之上,并加进了很多的功能以使得使用者可以更为方便的利用 TeX的强大功能.使用 LaTeX基本上不需要使用者 ...

  4. 如何通过Fiddler模拟弱网进行测试

    [本文出自天外归云的博客园] 弱网测试的目的 弱网测试可以发现一些因为网络问题导致的交互问题,从而更好的完善应用的性能. 弱网的模拟 通过Fiddler可以模拟弱网进行测试,拿手机测试举例,进行手机a ...

  5. docker之创建MariaDB镜像的方法

    一.基于commit命令方式创建 docker的安装 ? 1 2 3 [root@test01 ~]# yum install docker [root@test01 ~]# systemctl en ...

  6. 结合order by 解CTF某题

    真tmd不容易 <?php error_reporting(0); if (!isset($_POST['uname']) || !isset($_POST['pwd'])) { echo '& ...

  7. WebAPI Action的几种返回值类型

    void 返回204状态码 HttpResponseMessage Convert directly to an HTTP response message. IHttpActionResult Ca ...

  8. 微服务之springCloud-hystrix参数详解(八)

    简介 上节我们讨论了hystrix+feign+ribbon,但是可能很多人都知道hystrix还有线程隔离,信号量隔离,等等各种参数配置,在这几就记录下hystrix的参数, 一.hystrix参数 ...

  9. RDD、DataFrame和DataSet

    简述 RDD.DataFrame和DataSet是容易产生混淆的概念,必须对其相互之间对比,才可以知道其中异同:DataFrame多了数据的结构信息,即schema.RDD是分布式的 Java对象的集 ...

  10. putty配色备份

    [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Solarized%20Dark] "Colour0"="1 ...