上一篇我们总体了解了下junit框架的相关知识。这一篇我们将具体来分析相关的知识点。
我们将从以下几个方面来分析
1. junit的运行流程
2. junit的主要类的具体分析。
junit的运行流程
为了更好的分析junit的运行流程,我们先写一个测试类。
被测试类Calculator
/**
* Created by xiang.wei on 2018/3/21
*
* @author xiang.wei
*/
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
public int multiply(int a, int b) {
return a * b;
}
public int divide(int a, int b) {
return a / b;
}
}
测试类
import junit.framework.Assert;
import junit.framework.TestCase;
/**
* Created by xiang.wei on 2018/3/21
*
* @author xiang.wei
*/
public class CalculatorTest extends TestCase {
@Override
public void setUp() throws Exception {
System.out.println("测试开始");
}
public void testAdd()
{
Calculator calculator = new Calculator();
int result = calculator.add(1, 2);
// 判断方法的返回结果
Assert.assertEquals(3, result);// 第一个参数是期望值,第二个参数是要验证的值
}
public void testSubtract()
{
Calculator calculator = new Calculator();
int result = calculator.subtract(1, 2);
// 判断方法的返回结果
Assert.assertEquals(-1, result);// 第一个参数是期望值,第二个参数是要验证的值
}
public void testMultiply()
{
Calculator calculator = new Calculator();
int result = calculator.multiply(2, 3);
// 判断方法的返回结果
Assert.assertEquals(6, result);// 第一个参数是期望值,第二个参数是要验证的值
}
public void testDivide() {
Calculator calculator = new Calculator();
int result = calculator.divide(12, 3);
// 判断方法的返回结果
Assert.assertEquals(4, result);// 第一个参数是期望值,第二个参数是要验证的值
}
public void testFail(){
fail("失败测试");
}
@Override
public void tearDown() throws Exception {
System.out.println("测试结束");
}
}
测试结果:
测试结果
让我们通过断点调试来开始一段调试之路。
例如:要执行testAdd这个测试用例的话,中间到底要经历哪些过程呢?
1. 测试用例
public void testAdd()
{
Calculator calculator = new Calculator();
int result = calculator.add(1, 2);
// 判断方法的返回结果
Assert.assertEquals(3, result);// 第一个参数是期望值,第二个参数是要验证的值
}
。。。。。。。。。。。。。。。。。
版权原因,完整文章,请参考如下: