您的位置:首页 > 编程语言 > Java开发

junit 4 的一个简单例子

2011-06-07 18:15 246 查看
共包含二个JAVA文件。Caculate.java被测试的类,CaculateTest.java测试类

环境MyEclipse8.5+jdk1.605+junit4

遇到的问题:刚开始MyEclipse默认的是JDK1.5,程序运行后提示不能对MockUp初始化,在网上找了些资料,看了下,说是JDK版本的问题,于是将JAVA COMPILER及BUILD PATH LIBRARY均换成jdk1.605,问题解决,但是出现新问题:

WARNING: JMockit was initialized on demand, which may cause certain tests to fail;
please check the documentation for better ways to get it initialized.

CaculateTest.java程序代码如下:

package test;

import main.Caculate;
import mockit.Mock;
import mockit.MockUp;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

/**
 * describe: JUNIT 用法示例
 * create on: 2011-06-07
 * @author sylor.liu
 * @version 1.0
 * @since jdk1.6
 */
public class CaculateTest {
   
    Caculate cal ;
   
    @BeforeClass
    public static void globalInit() {
        System.out.println("GlobalInit全局執行,且只執行一次!");
    }

    // 在所有測試方法之後運行,且只運行一次的全局銷毀 最晚執行
    @AfterClass
    public static void globalDestroy() {
        System.out.println("GlobaDestroy全局執行,且只執行一次!");
    }

   
    @Before
    public void init() {
        cal = new Caculate();
        System.out.println("Junit4系列的注解方法首先                      運行方式@Before");
    }

    @Test
    public void myAddTest() {
        int result = cal.add(1, 2);
        Assert.assertEquals(3, result);
    }
   
    @Test
    public void myDivideTest() {
        int result = cal.divide(2, 2);
        Assert.assertEquals(1, result);
    }
   
    @Test
    public void myAddAndDivideTest() {
            new MockUp<Caculate>() {
                @Mock
                public int add(int x, int y) {
                      return 10;
                }
            };
           
        int result = cal.addAndDivide(3, 7, 5);
        Assert.assertEquals(2, result);
    }
   
   
}
Caculate.java程序代码如下:

package main;

public class Caculate {
   
    public int add(int x, int y) {
        return x + y;
    }

    public int divide(int x, int y) {
        return x / y;
    }
   
    public int addAndDivide(int x, int y, int z){
        int temp = 0;
        temp = add(x,y);
        return temp/z;
    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息