junit框架——单元测试

对于一名测试工程师来说如果不能进行单元测试、接口测试,是非常遗憾的;因为功能测试只能占到测试收益的5%,强化代码能力对于目前的我们来说至关重要,我认为一名测试工程师至少要是一个中级以上的开发工程师,当然我也在努力朝着这个方向迈进,我们共勉;

第一步:安装eclipse,百度搜索官网直接下载最新版本,此软件为免费开源;

第二步:创建包cn.junit4创建一个Calculator类,代码如下:

package cn.junit4;

public class Calculator {

    public  int result;
    public  int add(int operand1,int operand2){
        result=operand1+operand2;
        return result;
    }
    public int subtract(int operand1,int operand2){
        return result=operand1-operand2;
    }
    public int multiple(int operand1,int operand2){
        return result=operand1*operand2;
    }
    public int divide(int operand1,int operand2){
        return result=operand1/0;
    }
    public  int getResult(){
        return this.result;
    }

}

第三步:创建junit test case,代码如下:

package cn.junit4;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

public class CalculatorTest {
    private static Calculator Cal= new Calculator();

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
        System.out.println("@BeforeClass");
    }

    @AfterClass
    public static void tearDownAfterClass() throws Exception {
        System.out.println("@AfterClass");
    }

    @Before
    public void setUp() throws Exception {
        System.out.println("测试开始");
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("测试结束");
    }

    @Test
    public void testAdd() {
        Cal.add(2,2);
        assertEquals(4, Cal.getResult());
        //fail("Not yet implemented");
    }
    @Test
    public void testSubstract(){
        Cal.subtract(4,2);
        assertEquals(2,Cal.getResult());
    }
    @Ignore
    public void testMultiply(){
        fail("Not yet implemented");
    }
    @Test(timeout=2000)
    public void testDivide(){
        for(;;);
    }
    @Test(expected=ArithmeticException.class)
    public void testDivideByZero(){
        Cal.divide(4,0);
    }

}

第四步:在同一个包下创建另一个类Calculatortest2,代码如下:

package cn.junit4;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class CalculatorTest2 {

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
        System.out.println("beforeclass类之前运行");
    }

    @AfterClass
    public static void tearDownAfterClass() throws Exception {
        System.out.println("Afterclass类运行结束");
    }

    @Before
    public void setUp() throws Exception {
        System.out.println("@before");
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("@After");
    }

    @Test
    public void test() {
        //fail("Not yet implemented");
        System.out.println("CalculatorTest2测试方法被调用");
    }

}

第五步:创建junit4 test suite代码如下:

package cn.junit4;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({ CalculatorTest.class, CalculatorTest2.class })
public class AllTests {

}

第六步:运行junit4 test suite 完成Calculator类中方法的调用与预期一致  timeout=2000 为执行时间不得超过2秒而此方法中为死循环所以执行失败,excepected=ArithmeticException.class表示此方法执行后必须抛出ArithmeticException异常错误,用于验证是否抛出异常错误;AssertEquals()方法断言实际计算结果与预期结果是否一致;@ignore 标示的方法占时不执行;junit4 test suite主要用于让测试工程师实现并发批量执行测试用例;

时间: 2024-08-01 10:25:59

junit框架——单元测试的相关文章

Spring(3)—— Junit框架单元测试

Junit主要用于单元测试,即白盒测试.它是一个开源的由JAVA开发的一个用于测试的框架. Junit的几个基本概念:TestCase,TestSuite,TestFixtrue TestCase:代表一个测试用例,每一个TestCase实例都对应一个测试,这个测试通过这个TestCase实例的名字标志,以便在测试结果中指明哪个测试出了问题.TestCase继承自Assert,因此可以实现各种断言. TestSuite:代表需要测试的一组测试用例,也是测试用例的集合. TestFixtrue:代

Spring整合JUnit框架进行单元测试代码使用详解

[转]Spring整合JUnit框架进行单元测试代码使用详解 转自 http://blog.csdn.net/yaerfeng/article/details/25187775 感谢博主 :云淡风轻 .仅此一抹 一.Spring提供的JUnit框架扩展: 1. AbstractSpringContextTests:spring中使用spring上下文测试的Junit扩展类,我们一般不会使用这个类来进行单元测试,它是spring内部设计使用到的类    2. AbstractDependencyI

使用junit框架对安卓应用进行单元测试 20150412

我的上一篇博客http://www.cnblogs.com/wushaobo/p/4396308.html,开发了一个简单安卓app闰年测试.在这里,使用junit框架对这个app进行简单的单元测试. 为了方便进行测试,我将程序做了简单的修改,将toast提示改为页面文本,添加回车事件响应闰年判断.效果如下: 1.测试准备 在实际开发中,开发android软件的过程需要不断地进行测试.而使用Junit测试框架,则是正规Android开发的必用技术. 测试使用eclipse + ADT +andr

eclipse上使用JUnit框架进行单元测试

JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写. 先 简单解释一下什么是Annotation,这个单词一般是翻译成元数据.元数据是什么?元数据就是描述数据的数据.也就是说,这个东西在Java里面可以 用来和public.static等关键字一样来修饰类名.方法名.变量名.修饰的作用描述这个数据是做什么用的,差不多和public描述这个数据是公 有的一样.想具体了解可以看Core    Java2.废话不多说了,直接进入正题

Junit(3)JUnit和单元测试入门简介

1.几个相关的概念 白盒测试--把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的. 回归测试--软件或环境的修复或更正后的"再测试",自动测试工具对这类测试尤其有用. 单元测试--是最小粒度的测试,以测试某个功能或代码块.一般由程序员来做,因为它需要知道内部程序设计和编码的细节. JUnit --是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.他是用于单元测试框架体系xUnit的一个实例(用于java语言).主要用于白盒测试,回归测试. 2.

JUnit + Mockito 单元测试(二)

JUnit 是单元测试框架.Mockito 与 JUnit 不同,并不是单元测试框架(这方面 JUnit 已经足够好了),它是用于生成模拟对象或者直接点说,就是"假对象"的工具.两者定位不同,所以一般通常的做法就是联合 JUnit + Mockito 来进行测试. 入门 首先是配置 Mock 对象,看看例子怎么写的. [java] view plain copy List mock = mock( List.class ); when( mock.get(0) ).thenReturn

Android中如何使用JUnit进行单元测试 eclipse

Android中如何使用JUnit进行单元测试 在我们日常开发android app的时候,需要不断地进行测试,所以使用JUnit测试框架显得格外重要,学会JUnit可以加快应用的开发周期. Android中建立JUnit测试环境有以下两种方法. 一.直接在需要被测试的工程中新建测试类 集成步骤: 1.在androidManifest.xml文件中添加以下代码: <instrumentation android:name="android.test.InstrumentationTestR

JUnit框架初次体验

刚刚接触软件测试,对Junit还不是很了解,所以首先百度了一下它的概念. JUnit 是一个Java语言的单元测试框架.JUnit有它自己的扩展生态圈.多数Java的开发环境都已经集成了JUnit作为单元测试的工具. JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework).Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何完成功能和完成什么样的功能.Junit是一套框架,继承Tes

JUnit 4 单元测试

Individual Project ——JUnit 4 单元测试 学习到JUnit单元测试,我拿来测试之前写过的一个计算器(两个依存类:Calc.java CalcFunction.java).代码已放到github中. 贴出部分代码: 1 public class Calc extends javax.swing.JFrame{ 2 3 public Calc() { 4 initComponents(); 5 } 6 7 private void initComponents() { 8