搜档网
当前位置:搜档网 › 单元测试工具JUnit框架浅析

单元测试工具JUnit框架浅析

单元测试工具JUnit框架浅析
单元测试工具JUnit框架浅析

用Junit测试计算器单元对象类

实验报告五 课程名称:软件测试 学生姓名:董月 班级:浦计1104班 学号:P1401110402 指导教师:韩志刚 实验日期:2014-5-8 南京工业大学电子与信息学院

实验五 一、实验内容 用java语言编写一个计算器类,求实现加、减、乘、除、求平方根、求绝对值、求倒数1/x,方法,并用junit进行对象类的单元测试。参阅帮助文档。(说明,设计求除法、求倒数的方法,可在方法中不检测x是否为0,测试用例用y/0去测试、求平方根可不检测x>0,用负数测试) 二、实验步骤 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。 建立一个hzg包: 建立一个Calculator类:

把代码输进类中: package hzg; public class Calculator { private static int result; // 静态变量,用于存储运行结果 public void add(int n) { result = result + n; } public void substract(int n) { result = result - 1; //Bug: 正确的应该是result =result-n } public void multiply(int n) { result=result*n; } public void divide(int n) { result = result / n; } public void square(int n) { result = n * n; } public void squareRoot(int n) { result= (int) Math.sqrt(n); } public void clear() { // 将结果清零 result = 0; } public void reciprocal(int n) { result=1/n; } public void absolute(int n) { result=Math.abs(n); } public int getResult() { return result; } }

JUnit入门及应用

JUnit入门及应用 1、相关概念 ?JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。它是用于单 元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。 ?白盒测试:把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人 员是公开的。 ?回归测试:软件或环境的修复或更正后的再测试,自动测试工具对这类测试尤其有用。 ?单元测试:最小粒度的测试,以测试某个功能或代码块。一般由程序员来做,因为它需 要知道内部程序设计和编码的细节。 2、单元测试 2.1、单元测试的好处 ?提高开发速度,测试是以自动化方式执行的,提升了测试代码的执行效率。 ?提高软件代码质量,它使用小版本发布至集成,便于实现人员除错。同时引入重构概念, 让代码更干净和富有弹性。 ?提升系统的可信赖度,它是回归测试的一种。支持修复或更正后的“再测试”,可确保代码的正确性。 2.2、单元测试的针对对象 ?面向过程的软件开发针对过程。 ?面向对象的软件开发针对对象。 ?可以做类测试,功能测试,接口测试(最常用于测试类中的方法)。 2.3、单元测试工具和框架 目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit (Delphi ),NUnit(.net),PhpUnit(Php )等等。 单元测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和Kent Beck(XP(Extreme Programming)的创始人)提供的开放源代码的JUnit。 3、Junit入门简介 3.1、JUnit的好处和JUnit测试编写原则 使用JUnit的好处: ?可以使测试代码与产品代码分开。 ?针对某一个类的测试代码通过较少的改动便可以应用于另一个类的测试。

Junit单元测试技术

JUnit单元测试 (一)、JUnit介绍: 测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,JUnit是一个非常强大的单元测试包,可以对一个/多个类的单个/多个方法测试,还可以将不同的TestCase组合成TestSuit,使测试任务自动化。Eclipse同样集成了JUnit,可以非常方便地编写TestCase。 (二)、为什么使用JUnit? 不知道大家以前在对自己的项目是怎么进行测试的。反正我的测试方法是在一个类中都写一个main函数,然后根据类中方法的参数传入相应的值。这样做很麻烦,最大的缺点就是如果项目功能模块很多的话,那就完了。:) (三)、eclipse中建立一个完整的单元测试 Junit3 package cn.itcast.example; public class Demo1 { private int n; public Demo1(int n) { this.n = n; } // 返回绝对值: public int foo() { return n>0 ? n : (-n); } } package cn.itcast.example; public class Demo2 { public int add(int x, int y) { return x + y; } public static int divide(int x, int y) { return x / y; } public static int multiple(int x, int y) { return x * y; } } 测试用例

public class Demo1Test extends TestCase { private Demo1 s1, s2; protected void setUp() throws Exception { s1 = new Demo1(10); s2 = new Demo1(-7); } protected void tearDown() throws Exception { } public void testFoo() { assertTrue(s1.foo()==10); assertTrue(s2.foo()==7); } } public class Demo2Test extends TestCase { Demo2 demo; protected void setUp() throws Exception { super.setUp(); demo = new Demo2(); System.out.println("go........."); } protected void tearDown() throws Exception { super.tearDown(); } public void testAdd() { assertEquals(7, demo.add(3, 4)); } public void testDivide() { assertEquals(4, demo.divide(8, 2)); } public void testMultiple() { assertEquals(20, demo.multiple(4, 5)); } } public class AllTests {

在Eclipse中使用JUnit4进行单元测试

在Eclipse中使用JUnit4进行单元测试 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。这个类并不是很完美,我们故意保留了一些Bug用于演示,这些Bug在注释中都有说明。该类代码如下:

第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,如图: 在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library…”按钮,如下图所示: 然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了。 第三步,生成JUnit测试框架:在Eclipse的Package Explorer中用右键点击该类弹出菜单,选择“New à JUnit Test Case”。如下图所示: 在弹出的对话框中,进行相应的选择,如下图所示:

点击“下一步”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此例中,我们仅对“加、减、乘、除”四个方法进行测试。如下图所示: 之后系统会自动生成一个新类CalculatorTest,里面包含一些空的测试用例。你只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest代码如下:

第四步,运行测试代码:按照上述代码修改完毕后,我们在CalculatorTest类上点右键,选择“Run As à JUnit Test”来运行我们的测试,如下图所示: 运行结果如下:

Junit4教程_比较详细比较了junit3与junit4_例子很全面也很实用

JUnit4概述 JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。 先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在Java里面可以用来和public、static等关键字一样来修饰类名、方法名、变量名。修饰的作用描述这个数据是做什么用的,差不多和public 描述这个数据是公有的一样。想具体了解可以看Core Java2。废话不多说了,直接进入正题。 我们先看一下在JUnit 3中我们是怎样写一个单元测试的。比如下面一个类: public class AddOperation { public int add(int x,int y){ return x+y; } } 我们要测试add这个方法,我们写单元测试得这么写: import junit.framework.TestCase; import static org.junit.Assert.*; public class AddOperationTest extends TestCase{ public void setUp() throws Exception { } public void tearDown() throws Exception { } public void testAdd() { System.out.println(\"add\"); int x = 0; int y = 0; AddOperation instance = new AddOperation(); int expResult = 0; int result = instance.add(x, y); assertEquals(expResult, result); } } 可以看到上面的类使用了JDK5中的静态导入,这个相对来说就很简单,只要在import关键字后面加上static关键字,就可以把后面的类的static的变量和方法导入到这个类中,调用的时候和调用自己的方法没有任何区别。

JUnit in java单元测试用例实战

JUnit in java单元测试用例实战 单元测试基础 当今软件测试十分盛行时,本人通过项目实践和个人亲身体会浅谈单元测试,本人一直坚持“用代码说话的原则”,同时也希望个人能给出宝贵意见,共同探讨、共同进步,为中国软件事业有更大的发展共同奋斗! 最早我们项目组开发的项目时,写代码都是从底层一直写到表现层到jsp,然后开发人员在web层调试页面,近乎98%都会报一大堆exception,然后再在代码中加断点一步一步查到底哪一层代码出现问题……,比较好点做法就是在各个类中加上main方法测试,但总体很不理想,给web层开发人员的调试和质量控制人员带来繁重的工作压力;使用单元测试后,针对每一个方法都做严格的把关,大大减少调试的时间;同时质量控制人员返回过来的bug 少了近60%,现在对于开发人员写测试用例非常熟练,并且本人根据实际情况对测试用例做了点小小改动(这部分主要在后面代码中详述),带来很好的效果! 单元测试到底给实际开发带来什么好处那? (1)首先对于开发人员来说大大减少调试工作的时间,同时也规范了对于代码安全管理(我们知道那些方法是可以调用的); (2)对于整个项目来说,有了完整的测试,保证项目最后交付测试有了可靠依据; (3)对于测试人员大大减少bug的反馈; (4)对于项目经理整个项目达到很好的可控; (5)最主要的完整的单元测试给后期维护人员带来很大的便捷! 单元测试好处可能还有很多,但本人只能理解和感悟这么多,希望观者补充! 单元测试配置: 将使用eclipse+myEclopse给大家介绍关于JUNIT的环境的简单配置;右键点击项目选择“属性”,在弹出窗口中到环境变量中添加junit.jar包,这样下一步我们就可以进行单元测试了;

分析 JUnit 框架源代码

分析JUnit 框架源代码 理解JUnit 测试框架实现原理和设计模式 2009 年5 月31 日 本文细致地描述了JUnit 的代码实现,在展示代码流程UML 图的基础上,详细分析JUnit 的内部实现代码的功能与机制,并在涉及相关设计模式的地方结合代码予以说明。另外,分析过程还涉及Reflection 等Java 语言的高级特征。 概述 在测试驱动的开发理念深入人心的今天,JUnit 在测试开发领域的核心地位日渐稳定。不仅Eclipse 将JUnit 作为默认的IDE 集成组件,而且基于JUnit 的各种测试框架也在业内被广泛应用,并获得了一致好评。目前介绍JUnit 书籍文章虽然较多,但大多数是针对JUnit 的具体应用实践,而对于JUnit 本身的机制原理,只是停留在框架模块的较浅层次。 本文内容完全描述JUnit 的细致代码实现,在展示代码流程UML 图的基础上,详细分析JUnit 的内部实现代码的功能与机制,并在涉及相关设计模式的地方结合代码予以说明。另外,分析过程还涉及Reflection 等Java 语言的高级特征。 本文的读者应该对JUnit 的基本原理及各种设计模式有所了解,主要是面向从事Java 相关技术的设计、开发与测试的人员。对于C++,C# 程序员也有很好的借鉴作用。 回页首 Junit 简介 JUnit 的概念及用途

JUnit 是由Erich Gamma 和Kent Beck 编写的一个开源的单元测试框架。它属于白盒测试,只要将待测类继承TestCase 类,就可以利用JUnit 的一系列机制进行便捷的自动测试了。 JUnit 的设计精简,易学易用,但是功能却非常强大,这归因于它内部完善的代码结构。Erich Gamma 是著名的GOF 之一,因此JUnit 中深深渗透了扩展性优良的设计模式思想。JUnit 提供的API 既可以让您写出测试结果明确的可重用单元测试用例,也提供了单元测试用例成批运行的功能。在已经实现的框架中,用户可以选择三种方式来显示测试结果,并且显示的方式本身也是可扩展的。 JUnit 基本原理 一个JUnit 测试包含以下元素: 表 1. 测试用例组成 操作步骤: 将B 通过命令行方式或图形界面选择方式传递给R,R 自动运行测试,并显示结果。 JUnit 中的设计模式体现 设计模式(Design pattern)是一套被反复使用的、为众人所知的分类编目的代码设计经验总结。使用设计模式是为了可重用和扩展代码,增加代码的逻辑性和可靠性。设计模式的出现使代码的编制真正工程化,成为软件工程的基石。 GoF 的《设计模式》一书首次将设计模式提升到理论高度,并将之规范化。该书提出了23 种基本设计模式,其后,在可复用面向对象软件的发展过程中,新的设计模式亦不断出现。 软件框架通常定义了应用体系的整体结构类和对象的关系等等设计参数,以便于具体应用实现者能集中精力于应用本身的特定细节。因此,设计模式有助于对框架结构的理解,成熟的框架通常使用了多种设计模式,JUnit 就是其中的优秀代表。设计模式是JUnit 代码的精髓,没有设计模式,JUnit 代码无法达到在小代码量下的高扩展性。总体上看,有三种设计模式在JUnit 设计中得到充分体现,分别为Composite 模式、Command 模式以及Observer 模式。

Junit基本教程

Eclipse中配置junit 在要使用JUNIT的project名上,点击properties--java build path-libraries, 点击Add External JARs,把JUNIT包点上就行了. 并在需要测试的项目上新建junit test case 用法 1. 基本使用步骤,Junit的使用非常简单,它的基本使用步骤: - 创建,从junit.framework.TestCase派生unit test需要的test case - 书写测试方法,提供类似于如下函数签名的测试方法: public void testXXXXX(); - 编译,书写完test case后,编译所写的test case类 - 运行,启动junit test runner,来运行这个test case。 Junit提供了2个基本的test runner:字符界面和图形界面。启动命令分别如下: a 图形界面: 化每个测试方法的。setUp在每个测试方法调用前被调用,负责初始化测试方法所需要的测试环境;tearDown在每个测试方法被调用之后被调用,负责撤销测

试环境。它们与测试方法的关系可以描述如下: 测试开始 -> setUp -> testXXXX -> tearDown ->测试结束 - fail,期望出现的错误。产生原因:assert函数出错(如assertFalse(true));fail函数产生(如fail(……))。 - exception,不期望出现的错误,属于unit test程序运行时抛出的异常。它和普通代码运行过程中抛出的runtime异常属于一种类型。 对于assert、fail等函数请参见junit的javadoc。

MyEclipse中使用Junit插件进行单元测试

Eclipse中使用Junit插件进行单元测试 测试是软件开发的重要环节之一。按照软件开发的过程测试可分为:单元测试、集成测试、系统测试、域测试等。我们这里将讨论面向程序员的单元测试。 一、什么是单元测试 单元测试指的是使用编写好的测试代码来检验需要被测试的代码。我们通常给要测试的方法传入一些参数值,然后检测方法的返回值跟预期是否一致。一般情况下我们会传入一些容易引发错误的数据,例如给计算除法的方法传入除数0,并且测试的参数也会传入许多组,这样才能保证测试效果。 二、为什么要使用单元测试 注:如果你时间不多请直接看后面的粗体 每当别人提起“单元测试”都会让william的内心难受上好长一阵子,往往他的好心情也会一扫而光。这又是为什么呢? 5年前William的软件公司很顺利的拿到美国ADC电讯公司(ADC Telecommunications )的一单软件开发的生意,总价值1500万美元,利润在32%上下。面对着几百万的收益,William 兴奋地对自己的妻子说:“Catherine,不久我们的银行户头上就会多出几百万美元。做完这笔生意,你老爸再也不会抱怨他的女儿嫁给了一个贫困街区出生并且没受过高等教育的乡巴佬。还真想不到你老爸再见到我的时候会是什么样的表情……”。 作为同William生活了12年的Catherine很清楚的知道,William这个人实际的本事没多少,然而大话却说了不少。当初她正因为轻信了William的许诺才嫁给他,然而当年的承诺从来就没兑现过。虽说William这个人没什么本事,可是他却有着令别人羡慕的“狗屎运”。 高中毕业之后,他参了军,在越南战争中他所在的小队中了越南人的埋伏,却唯独William 一个人活着回来。(William牢记美军士兵手册其中一条训令:永远不要和比你作战勇敢的战友躲在同一个散兵坑,因为他会给你们招来致命炮火打击。)William回来后向自己的上司编造了谎言,因而被提升为中尉,授予紫心勋章。 退役后有幸运结识底特律市长的千金——Catherine,并且让这位市长千金以身相许。William 的岳父虽说从来就没看上过这位贫穷、没教养还时常夸夸其谈的女婿,可最终还是出资给William创办公司。William的运气不得不让人羡慕,可是这回软件开发他还会这么幸运么? 翌日,William一大早就来到公司,他第一件事情就是要和项目经理谈话。 “嘿!John。我们的项目要立即投入人力着手开发,别让那些程序员慢吞吞的。”William认真的说。 “先生,我们的项目还不能立即开发,因为我们还没有做项目需求。”项目经理John提醒着。

Junit单元测试

JUnit java单元测试 首先须导入JUnit包:所在项目右击->Build Path->Add Libraries ->选择JUnit->选择一个版本->Finish 一.手动生成 1.测试方法,必须符合下列条件 *方法必须声明成:public,void *JUnit3方法名必须以test开头,JUnit4则不需要 *方法无参数 如:JUnit3:Public void testAdd(){} JUnit4:@Test (org.junit.Test) Public void AddTest(){} 2. JUit3 与 JUit4的区别 源码和测试代码分开放在不同的Source Folder,测试代码所在的包名最好和源码中的包名一一对应。JUnit3测试方法中的类必须继承TestCase (junit.framwork.TestCase);而JUnit4类则不需要继承任何类,但在方法前须加上注解@Test(org.junit.Test)此测试方法,标注该程序是以JUnit的方式来运行的。 JUit3:在方法前加上TestCase类的方法setUp(),在执行每一次测试方法之前都会被调用,可把在测试方法中都需要的程序放在这里;最后加上

tearDown()方法,在执行每一次方法后都会被调用。 JUit4:与JUit3不同的是,在JUit4中是在方法前用注解 @BeforeClass:globeInit(),无论执行多少测试方法,它只执行一次,且运行在最前 @Before:把方法注解成Before,init()与JUit3中的setUp()方法作用一样@After:把方法注解成After,destroy()与JUit3中的tearDown ()方法作用一样 @AfterClass:无论执行多少测试方法,它只执行一次,且运行在最后 下面分别以JUit3和JUit4为例子来运行测试: 例1.JUit3 源代码: package com.sinyee.unit; public class ArrayUnit { /** *传入一个数组,返回该数组的最大值 *@param array *@return */ public int getMaxValue(int[] array) throws Exception { if (array==null) { throw new NullPointerException("空指针异常"); } if (array.length == 0) { throw new ArrayIndexOutOfBoundsException("数组不能为 空!"); } int temp = array[0]; for (int i = 1; i < array.length; i++) { if (temp < array[i]) { array[i] = temp; } } // 取出该数组的最大值 return temp;

junit心得体会

junit心得体会 篇一:我本人学习JUnit的心得体验 我本人学习JUnit的心得体验 其实促使我学习JUnit首先是因为它是一个标准。其实不用JUnit进行测试可 不可以呢?答案是可以的,而且我们还可以随心所欲地编写测试代码,到最后轻松完成测试。但是问题出现了,如果有人接下你的项目进行二次开发的时候,看你的测试代码将是一件苦差事。所以有必要制定一套标准实现测试的规范化。JUnit在这种环境之下诞生了。 其次,通过学习JUnit,我感受到了先写测试再编码的好处。因为在我们写 好测试的同时,我们也确认了类别所要进行的行为,即使我们一开始对该类别的职责还不明确,藉由先写下测试,我们对该类别的要求也可以确定下来,这是写测试的好处,而且在写好的同时,相当于也写好了对该类别的职责说明书。因此我们应该先将相关的测试写好,这可以帮助我们确定所要加上的功能是什么,然后我们的目标就是通过这些新的测试。事实上,我们的类别将会被设计为与其它物件耦合度低的类别,这也是先写测试所意外带来的好处。 其实JUnit简单使用并不复杂,首先要下载JUnit包并配置好,我用的idE

是netbeans里面已经集成JUnit了。 一般一个类别都会对应一个测试类。JUnit提供了一个代码框架给我们编写 我们自己的测试类: publicclassTestXXXextendsTestcase{ publicTestXXX(Stringname){ super(name); } publicvoidsetUp(){ try{ super.setUp(); /*yourinitializecodehere*/ }catch(Exceptionex){ ex.printStackTrace(); } } publicvoidteardown(){ try{ /*yourdestroycodehere*/ super.teardown(); }catch(Exceptionex){ ex.printStackTrace();

单元测试(JUnit)的应用

单元测试(JUnit)的应用 一.概要 单元测试不仅仅是保证代码在方法级别的正确性,它还能改进设计,易于对代码重构。凡是容易编写单元测试的代码,往往是优秀的设计和松耦合的组件,凡是难于编写单元测试的代码,往往是设计不佳和耦合度高的系统,因此,编写单元测试不仅仅是掌握单元测试柜架的用法,更重要的是在编写单元测试的过程中发现设计缺陷,改进系统结构,从而实现良好的可扩展性。 任何一个项目,单元测试应该在详细设计之后开始进行,首先根据详细设计文档进行单元测试用例的编写,编写完成后进行代码开发,代码完成后运行单元测试,如果通过,则该方法可以发布运行,如果不通过需要进行代码改造,再进行单元测试,直到单元测试运行通过为止。 每新增一个功能时的开发流程如图1所示: 编写测试用例 编写代码 完成 对代码做小的修改 运行测试通过失败 图1 本文首先按照上图所示流程进行一个简单功能的开发,同时使用JUnit 4 提供的

各种功能开展有效的单元测试,接着对JUnit技术进行了简单的介绍。 二.软件支持 Eclipse:最为流行的 IDE,它全面集成了 JUnit,并从版本 3.2 开始支持 JUnit 4。当然 JUnit 并不依赖于任何 IDE。您可以从https://www.sodocs.net/doc/bf18095523.html,/上下载最新的 Eclipse 版本。 Ant:基于 Java 的开源构建工具,您可以在https://www.sodocs.net/doc/bf18095523.html,/上得到最新的版本和丰富的文档。Eclipse 中已经集成了 Ant。 JUnit:它的官方网站是https://www.sodocs.net/doc/bf18095523.html,/。您可以从上面获取关于 JUnit 的最新消息。如果您和本文一样在 Eclipse 中使用 JUnit,就不必再下载了。 三.JUnit的实际应用例子 3.1功能需求 将Java对象名称(每个单词的头字母大写)按照数据库命名的习惯进行格式化,格式化后的数据为小写字母,并且使用下划线分割命名单词,要求对输入数据进行非法验证。 3.2编写测试 首先新建一个 Java 工程—— TestJUnit。打开项目 TestJUnit的属性页 -> 选择“Java Build Path”子选项 -> 点选“Add Library…”按钮 -> 在弹出的“Add Library”对话框中选择 JUnit(图2),并在下一页中选择版本 4.1 后点击“Finish”按钮。

关于JUnit测试框架的使用

实验五JUnit测试框架的使用 一、实验目的 1、掌握Junit测试框架的使用 2、掌握测试用例的编写 二、基本知识 1、熟悉java编程语言和Eclipse集成开发环境 2、熟悉单元测试概念 3、熟悉测试设计技术 三、实验环境 ①windows操作系统+IE浏览器 ②Eclipse集成开发环境+Junit测试框架 四、实验内容 1、学习Junit框架的使用 可通过以下两个示例进行学习。 A、Junit使用方法示例1 1)把Junit引入当前项目库中 新建一个Java 工程—coolJUnit,打开项目coolJUnit的属性页->选择“Java Build Path”子选项->点选“Add Library…”按钮->在弹出的“Add Library”对话框中选择JUnit(图1),并在下一页中选择版本Junit 4 后点击“Finish”按钮。这样便把JUnit引入到当前项目库中了。

图1 为项目添加JUnit库 2)新建单元测试代码目录 单元测试代码是不会出现在最终软件产品中的,所以最好为单元测试代码与被测试代码创建单独的目录,并保证测试代码和被测试代码使用相同的包名。这样既保证了代码的分离,同时还保证了查找的方便。遵照这条原则,在项目coolJUnit根目录下添加一个新目录testsrc,并把它加入到项目源代码目录中。(见图2、3)。

图2 新建测试代码目录 图3 添加测试代码目录 3)在工程中添加类 添加类SampleCaculator,类中有两个方法,分别计算加减法。编译代码。 package https://www.sodocs.net/doc/bf18095523.html,.gzhu; publicclass SampleCalculator { //计算两整数之和 publicint add(int augend, int addend){ return augend + addend; } //计算两整数之差 publicint subtration(int minuend, int subtrahend){ return minuend - subtrahend; } } 4)写单元测试代码 为类SampleCalculator添加测试用例。在资源管理器SampleCalculator.java文件处右击选new>选Junit Test Case(见图4),Source foler选择testsrc目录,点击next,选择要测试的方法,这里把add和subtration方法都选上,最后点finish完成。

软件测试实验3--Junit单元测试

南京理工大学泰州科技学院实验报告书 课程名称:《软件测试与质量保证》 实验题目:实验三 Junit单元测试 班级: 学号: 姓名: 指导教师:

一、实验目的 1.了解Junit测试框架用途及相关框架组成要素 2.掌握Junit3.8中断言的使用及Assert静态类的相关用法 3.掌握在Eclipse中如何结合JUnit3.8进行单元测试的过程 二、实验内容 1、使用java语言编写一个类,该类用于完成简单的数学四则运算;然后使用Junit单元测试方法对编写的类进行测试。 三、实验步骤及结果 1、 (1)实验程序 package https://www.sodocs.net/doc/bf18095523.html,; import https://www.sodocs.net/doc/bf18095523.html,.apache.bcel.internal.generic.NEW; import junit.framework.Assert; import junit.framework.TestCase;

public class MathTest extends TestCase{ public void testAdd() { Math math=new Math(); int result=math.add(1,2); Assert.assertEquals(3,result); } public void testMin(){ Math math=new Math(); int result=math.min(1,2); Assert.assertEquals(-1,result); } public void testMui(){ Math math=new Math(); int result=math.mui(1,2); Assert.assertEquals(2,result); } public void testDiv(){ Math math=new Math(); int result=0; try{ result=math.div(6,2);} catch(Exception e){ e.printStackTrace(); } Assert.assertEquals(3,result); } public void testDiv1(){ Throwable throwable=null; Math math=new Math(); try{ int result=math.div(6,0);} catch(Exception e){ throwable=e; } assertNotNull(throwable); assertEquals(Exception.class,throwable.getClass()); assertEquals("除数不能为零",throwable.getMessage()); } } (2)实验结果

基于Spring的JUnit单元测试用例

基于Spring的JUnit单元测试用例 一、简介: 企业级应用开发过程中, 迭代开发是一种常见的开发模式. 为保持高质量的迭代开发, 代码集成到主干之前, 程序员需要完成对代码逻辑的覆盖测试, 并输出对应的测试用例. 程序员测试, 即所谓白盒测试, 因为程序员知道被测软件如何完成功能(How)和完成什么样的功能(What), 故能够从底层去验证软件功能, 尽早发现和解决问题。 那么Java程序员可以通过什么方式去构建自己的测试用例? 1、Spring测试框架: Spring MVC测试框架提供了对服务器端和客户端(基于RestTemplate的客户端)提供了支持。 2、JUnit测试框架: JUnit是一个开源的Java测试框架, 用于编写和运行可重复的测试用例。 3、OkHttp网络框架: OkHttp是一个处理网络请求的开源框架。 4、Eclipse测试覆盖率统计插件EclEmma 二、实例: 1、搭建测试项目: 1)项目架构: SpringMVC + Spring + JdbcTemplate + H2 2)引入依赖jar包: 3)添加Spring配置文件:

添加注解扫描配置: 支持全注解扫描 添加数据源配置: 引入内存数据库H2 ●初始数据库表单和创建JdbcTemplate 备注: H2数据库为基于Java开发的一款开源可嵌入内存数据库. 添加JSON转换器配置: 支持@ResponseBody注解

4)构建Spring MVC实现: Model:用户类 Controller:提供用户添加接口 Service: 提供用户添加业务处理方法 DAO: 提供用户添加和用户数量查询持久层方法

用Junit测试计算器单元对象类

实验报告五课程名称:软件测试 学生姓名:董月 班级:浦计1104班 指导教师:韩志刚 实验日期:2014-5-8 南京工业大学电子与信息学院 实验五 一、实验内容 用java语言编写一个计算器类,求实现加、减、乘、除、求平方根、求绝对值、求倒数1/x,方法,并用junit进行对象类的单元测试。参阅帮助文档。(说明,设计求除法、求倒数的方法,可在方法中不检测x是否为0,测试用例用y/0去测试、求平方根可不检测x>0,用负数测试) 二、实验步骤 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。建立一个hzg包: 建立一个Calculator类: 把代码输进类中: package hzg; public class Calculator { private static int result; // 静态变量,用于存储运行结果 public void add(int n) { result = result + n; } public void substract(int n) { result = result - 1; //Bug: 正确的应该是result =result-n } public void multiply(int n) { r esult=result*n; } public void divide(int n) { result = result / n;

} public void square(int n) { result = n * n; } public void squareRoot(int n) { result= (int) Math.sqrt(n); } public void clear() { // 将结果清零 result = 0; } public void reciprocal(int n) { result=1/n; } public void absolute(int n) { result=Math.abs(n); } public int getResult() { return result; } } 第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library…”按钮,如下图所示: 然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了。 第三步,生成JUnit测试框架:在Eclipse的Package Explorer中用右键点击该类弹出菜单,在弹出的对话框中,进行相应的选择加、减、乘、除,之后系统会自动生成一个新类CalculatorTest,里面包含一些空的测试用例。只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest 代码如下: package hzg; import static import import import import import public class CalculatorTest { private static Calculator calculator = new Calculator(); @BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { }

课程设计-基于Junit的单元测试

课程设计(论文)任务书 软件学院软件工程(软件测试)专业2012-班 一、课程设计(论文)题目基于Junit(/Nunit)的单元测试 二、课程设计(论文)工作自 2015年 6 月 15 日起至 2015年 6 月 19 日止。 三、课程设计(论文) 地点: 创新大楼软件实训中心机房406 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生能掌握黑盒功能测试的基本思路和方法,学会使用单元测试工具Junit(/Nunit)进行单元功能测试; (2)培养学生分析、解决问题的能力; (3)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)选择待测试函数或类,分析测试需求,认真设计好测试用例; (2)重点运用Junit/Nunit进行单元测试的开发; (3)认真分析测试结果;分析测试用例对被测对象的覆盖程度。 2)创新要求: 在基本要求达到后,可以对更复杂一些的函数设计用例,进行单元测试。 3)课程设计论文编写要求 (1)要按照书稿的规格打印书写课程设计论文 (2)论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录等 (3)课程设计论文装订按学校的统一要求完成 4)答辩与评分标准: (1)出勤和学习态度:10分; (2)课设检查:20分; (3)回答问题:20分; (4)课设论文:50分; 5)参考文献: (1)参考单元测试的PPT

(2) 6)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 设计与测试 2.5实验室 撰写论文 1.5图书馆、实验室 学生签名: 2015年6月19日 课程设计(论文)评审意见 (1)测试内容(10分):优()、良()、中()、一般()、差(); (2)设计分析(40分):优()、良()、中()、一般()、差(); (3)测试开发(30分):优()、良()、中()、一般()、差(); (4)结果分析(20分):优()、良()、中()、一般()、差(); 评阅人:职称:副教授 2015年6月22日

如何使用 JUnit进行自动化测试

如何使用JUnit进行自动化测试 1如何利用JUnit在Eclipse中开发自动化脚本 JUnit可以和很多开发工具进行集成来进行单元测试,我们这里选取较常用的java开发工具Eclipse来使用JUnit4进行单元测试。如何在开发工具Eclipse里进行单元测试 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。这个类并不是很完美,我们故意保留了一些Bug用于演示,这些Bug在注释中都有说明。该类代码如下: package andycpp; public class Calculator { private static int result; // 静态变量,用于存储运行结果 public void add(int n) { result = result + n; } public void substract(int n) { result = result - 1; //Bug: 正确的应该是 result =result-n } public void multiply(int n)

{ } // 此方法尚未写好 public void divide(int n) { result = result / n; } public void square(int n) { result = n * n; } public void squareRoot(int n) { for (; ; ) ; //Bug : 死循环} public void clear() { // 将结果清零

相关主题