//e.printStackTrace();
}
//th 不为空 null
Assert.assertNotNull(th);
//第一个参数是预期的,第二个参数是真实的
Assert.assertEquals(Exception.class, th.getClass());
Assert.assertEquals("除数不能为0", th.getMessage());
}
//加了这个main方法,可以直接以 Java Application 方式运行 ,也可以通过 JUnit Test 运行
public static void main(String[] args)
{
//实现接口TestListener的JUnit中就含有:junit.awtui.TestRunner、junit.swingui. TestRunner、junit.ui.TestRunner等,甚至客户用自己的类实现TestListener,从而达到多样化的目的。
//命令行形式打印
junit.textui.TestRunner.run(CalculatorTest.class); //它会自动运行CalculatorTest类中以test打头的所有测试用例方法
//awt 界面方式显示
//junit.awtui.TestRunner.run(CalculatorTest.class);
//swing 界面方式显示
//junit.swingui.TestRunner.run(CalculatorTest.class);
}
}
package com.junit3_8;
import junit.framework.Assert;
import junit.framework.TestCase;
//测试类要继承TestCase
public class CalculatorTest extends TestCase{
Calculator cal;
//在“每个”测试方法执行之前被调用
public void setUp()
{
//这段代码在这写比较方便,只写一次就够,
//不用在每个方法里写,因为这个方法每次都被调用,生成不同的对象,供测试方法使用
cal = new Calculator();
//System.out.println("setUp");
}
//在“每个”测试方法执行之后被调用
public void tearDown()
{
//System.out.println("testDown");
}
//测试方法:方法名要以test为开头,无参数,无返回类型
public void testAdd()
{
//Calculator cal = new Calculator();
int result = cal.add(1, 2);
//第一个参数是预期结果,第二个参数是实际结果
Assert.assertEquals(3, result);
}
public void testSubtract()
{
//Calculator cal = new Calculator();
//第一个参数是预期结果,第二个参数是实际结果
Assert.assertEquals(-1, result);
}
public void testMultiply()
{
//Calculator cal = new Calculator();
int result = cal.multiply(1, 2);
//第一个参数是预期结果,第二个参数是实际结果
Assert.assertEquals(2, result);
}
public void testDivide()
{
int result = 0;
//Calculator cal = new Calculator();
try
{
result = cal.divide(4, 2);
}
catch(Exception e)
{
e.printStackTrace();
//让测试失败
Assert.fail();
}
//第一个参数是预期结果,第二个参数是实际结果
Assert.assertEquals(2, result);
}
//除数为0的情况
public void testDivideByZero()
{
Throwable th = null ;
//Calculator cal = new Calculator();
try
{
cal.divide(1, 0);
Assert.fail();
}
catch(Exception e)
{
th = e ;
//e.printStackTrace();
}
//th 不为空 null
Assert.assertNotNull(th);
//第一个参数是预期的,第二个参数是真实的
Assert.assertEquals(Exception.class, th.getClass());
Assert.assertEquals("除数不能为0", th.getMessage());
}
//加了这个main方法,可以直接以 Java Application 方式运行 ,也可以通过 JUnit Test 运行
public static void main(String[] a