11th 单元测试工具JUnit的学习
1、写好一个简易的四则运算的程序
UnitTest类文件:
public class UnitTest {
int a;
int b;
int answer;//正确答案 public int plus(int a,int b){
answer = a + b;
return answer;
} public int minus(int a,int b){
answer = a - b;
return answer;
} public int multiply(int a,int b){
answer = a * b;
return answer;
} public int divide(int a,int b){
answer = a / b;
return answer;
} public int getresult()
{
return answer;
} }
Expression类文件:
import java.util.*; public class Expression {
int a;
int b;
static int c;//用户答案
int answer;//正确答案
static Scanner in=new Scanner(System.in); public Expression(){
a = new Random().nextInt()%10;
b = new Random().nextInt()%10;
System.out.print(""+a+"+"+b+"=");
} public static void main(String[] args){
int answer;
Expression expression = new Expression();
UnitTest u = new UnitTest();
answer = u.plus(expression.a, expression.b);
try{
Expression.c = in.nextInt();
}
catch(InputMismatchException e)
{
System.err.println("\nError ,please Enter a Int number");
}
if(answer==c)
{
System.out.print("答对了");
}
else{
System.out.println("答错了");
System.out.println("the answer is "+answer);
}
}
}
2、 添加JUnit4控件
右键工程文件,选择属性(Properties)选项
选择左列Java Bulid Path,点击Library选项卡,之后单击右侧的Add library…
点击其中的JUnit,选择版本为JUnit4
如图,已引入JUnit库文件
3、写测试类
之后,右键UnitTest.java-->New-->JUnit Test Case
选中要测试的方法:
之后MyEclipse会自动生成一个UnitTestTest类,将生成类中的fail方法改为自己的代码即可进行测试。
代码如下:
UnitTestTest类文件
import static org.junit.Assert.*; import org.junit.Test; public class UnitTestTest { public static UnitTest puls = new UnitTest();
public static int answer; @Test
public void testPlus() {
puls.plus(1,1);
assertEquals(2, puls.getresult());
} @Test
public void testMinus() {
puls.minus(1,1);
assertEquals(0, puls.getresult());
} @Test
public void testMultiply() {
puls.multiply(1,1);
assertEquals(1, puls.getresult());
} @Test(expected=ArithmeticException.class)
public void testDivide1(){
puls.divide(1, 0);
} @Test
public void testDivide() {
puls.divide(1,1);
assertEquals(1, puls.getresult());
} }
4、运行测试:
右键JUnitTestTest,Run As-->JUnit Test
测试结果显示代码无误,没有bug,不需要更改。
本文的实际操作学习自网上,现提供原学习文档网址,供大家借鉴:http://www.tuicool.com/articles/fArMFjJ
11th 单元测试工具JUnit的学习的更多相关文章
- 单元测试工具Junit浅谈
什么是单元测试? 写了一个类和一些方法,给别人用,会不会有bug?那就测一下这些方法吧 怎么测? 用main方法测?不能一起运行,需要人为观察输出是否正确,测试效率低 单元测试能带来什么好处? ...
- Maven的安装配置及初次创建项目与java单元测试工具JUnit
Maven 安装 1.把maven安装包解压到某个位置 2.配置M2_HOME环境变量指向这个位置 3.在path环境变量中添加;%M2_HOME%\bin 配置镜像 国内的阿里云镜 ...
- 测试 | 单元测试工具 | JUnit | 参数化
被测试类: package project; public class MyCalendar2 { public int getNumberOfDaysInMonth(int year, int mo ...
- 测试 | 单元测试工具 | JUnit
http://junit.sourceforge.net/javadoc/org/junit/Assert.html 使用: 新建测试类: 在预测试的类上点击右键--->NEW--->Ju ...
- Hibernate单元测试工具junit
相关注解 @Text :测试方法 @Before :初始化方法 @After : 释放资源
- [转]单元测试利器 JUnit 4
引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...
- Java知识积累——单元测试和JUnit(一)
说起单元测试,刚毕业或者没毕业的人可能大多停留在课本讲述的定义阶段,至于具体是怎么定义的,估计也不会有太多人记得.我们的教育总是这样让人“欣 慰”.那么什么是单元测试呢?具体科学的定义咱就不去关心了, ...
- 单元测试利器 JUnit 4
引言 毋庸置疑,程序员要对自己编写的代码负责,您不仅要保证它能通过编译,正常地运行,而且要满足需求和设计预期的效果.单元测试正是验证代码行为是否满足预期的有效手段之一.但不可否认,做测试是件很枯燥无趣 ...
- Java程序单元测试工具对比——Parasoft Jtest与Junit
Web应用程序开发中,面向对象的Java语言占了不少的比重.对于Java应用程序的测试方法或方式多种多样,比较典型的是程序员自己来完成程序测试中的一个部分——单元测试. 之前,慧都资讯提到单元测试是程 ...
随机推荐
- 2017-2018-3 20155337《信息安全系统设计基础》 pwd指令学习
2017-2018-3 20155337<信息安全系统设计基础> pwd指令学习 任务要求 学习pwd指令 研究pwd实现需要的系统调用(man -k:grep),写出伪代码 实现mypw ...
- WPF 学习笔记-设置属性使窗口不可改变大小
原文:WPF 学习笔记-设置属性使窗口不可改变大小 调整Windows下的ResizeMode属性: ResizeMode = NoResize Resize属性是控制Windows是否可以改变大小, ...
- 为什么java代码中要避免多层深度for循环嵌套
在开发中,一直强调代码的整洁和可读性.之前对于使用多层嵌套for循环,一直以为只是对代码可读性和逻辑梳理有影响.可能对性能也有影响,但是一直不知道对性能影响在哪.最近在看虚拟机方面的书,感觉有一个点应 ...
- 如何打war包和jar包
1.jar包的导出 答:右键项目,export—jarfile 生成. 2.war包的导入 答:方法一:右键项目,export—WAR file 生成. 方法二:[ant文件]—[deploy-be ...
- JavaScript——变量与基本数据类型
前言 JavaScript中的变量为松散类型,所谓松散类型就是指当一个变量被申明出来就可以保存任意类型的值,就是不像SQL一样申明某个键值为int就只能保存整型数值,申明varchar只能保存字符串. ...
- [翻译] Python 3.5中async/await的工作机制
Python 3.5中async/await的工作机制 多处翻译出于自己理解,如有疑惑请参考原文 原文链接 身为Python核心开发组的成员,我对于这门语言的各种细节充满好奇.尽管我很清楚自己不可能对 ...
- linux用命令行编译使用函数库
同步于气象家园日志 from fcode 视频 编译静态链接库 gfortran -c sub.f90 func.f90 产生了func.mod文件.注:mod文件是静态库的接口.如果删掉了fu ...
- Linux入门基础(五):Linux管道,重定向,文本处理
多命令协作:管道及重定向 在Linux中,大多数命令都很简单,每个命令往往只实现一个或几个很简单功能. 我们可以通过将不同功能的命令组合起来一起使用,达到完成某个复杂功能的目的 CLI下几乎所有的命令 ...
- Unity3D之AR开发(一)
近期研究了下AR技术,下面给大家分享一下. 第一种方法:高通AR(Vuforia) Vuforia插件下载地址(官网): https://developer.vuforia.com/downloads ...
- Laya 1.x 按文件夹TS代码合并
Laya 1.x 使用TS开发时,经常会碰到代码文件太多,加载index.html时时间太长的问题.Laya编辑器貌似没有自带JS代码合并的功能.基于Laya去实现JS合并需要修改编辑器源码,合并JS ...