Junit4测试用例

一、题目简介

测试一元一次方程的求解

二、源码的github链接

https://github.com/liujing1994/test1

三、所设计的模块测试用例、测试结果截图

 

一元一次方程测试类:

 

package junittest;

import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.JUnitCore;
public class MyMathTest
{
//将需要测试的类,声明成成员变量
MyMath math;
//每次运行测试方法之前都会运行该方法
@Before
public void setUp()
{
math=new MyMath();
}
//每次运行测试用例之后都会运行该方法
@After
public void tearDown()
{
math=null;
}

//测试一元一次方程的求解
//expected=ArithmeticException.class
//相当于断言该测试方法将会抛出ArithmeticException异常
@Test(expected=ArithmeticException.class)
public void testOneEquation()
{
System.out.println("=================================");
System.out.println("=================================");
System.out.println("测试一元一次方程求解");
//断言该方程求解应该为-1.8
assertEquals(math.oneEquation(5,9),-1.8,.00001);
//断言当a==0时的情况
assertEquals(math.oneEquation(0,3),-1);
}
//测试一元二次方程的求解
@Test
public void testTwoEquation()
{
System.out.println("=================================");
System.out.println("=================================");
System.out.println("测试一元二次方程求解");
double[] tmp=math.twoEquation(1,-3,2);
//断言方程的两个解,一个为2,一个为3
assertEquals("第一个解出错",tmp[0],2,.00001);
assertEquals("第二个解出错",tmp[1],3,.00001);
}
//程序的入口,直接运行该测试用例
public static void main(String[] args)
{
//运行单个的测试用例
JUnitCore.main("junittest.MyMathTest");
}
}

测试结果截图:

 

四、问题及解决方案、心得体会

在本次实验中,我懂得了使用Junit4应守如下规则

(1)测试用例类使用public修饰

(2)测试用例的测试方法使用public修饰

(3)测试用例的测试方法的返回值应该是void

(4)测试用例中测试方法不应该有任何参数

JUnit4详解、

1.@Test 用来标注测试函数

2.@Before 用来标注此函数在每次测试函数运行之前运行

3.@After 用来标注此函数在每次测试函数运行之后运行

4.@BeforeClass 用来标注在测试开始时运行;

5.@AfterClass  用来标注在测试结束时运行;

6.Assert 类中有很多断言,比如 assertEquals(" 期望值 "," 实际值 ");

Assert类提供了大量的 断言方法,包括基本断言,数字断言,字符断言,布尔断言,对象断言。其中assertEquals(Object expected,Object actual)内部使用equals()方法,用于判断两个对象的值是否相等.assertSame(Object expected,Object actual)内部采用"=="判断,用于判断两个对象是否来自于同一个引用.

      学习过程中发现许多不足,还要跟同学们进行探讨,以便更好的学习。

代码交流 2021