首页 > 代码库 > 单元测试

单元测试

第一步:编写一个Calculator类,并在类中写入加减乘除等方法;

package andycpp;

public class Calculator {

private static int result; // 静态变量,用于存储运行结果
public void add(int n) {
result = result + n;
}
public void substract(int n) {
result = result - 1; //Bug: 正确的应该是 result =result-n
}
public void multiply(int n) {
result = result*5;

public void divide(int n) {
result = result / n;
}
public void square(int n) {
result = n * n;
}
public void squareRoot(int n) {
for (; ;) ; //Bug : 死循环
}
public void clear() { // 将结果清零
result = 0;
}
public int getResult() {
return result;
}

}

第二步:将测试包引入这个项目,系统将自动生成CalculatorTest

技术分享

 

第三步:写完测试代码

package andycpp;

import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

public class CalculatorTest {
private static Calculator calculator = new Calculator();
@Before
public void setUp() throws Exception {
calculator.clear();
}

@Test
public void testAdd() {
calculator.add(2);
calculator.add(3);
assertEquals(5, calculator.getResult());

}

@Test
public void testSubstract() {
calculator.add(10);
calculator.substract(2);
assertEquals(8, calculator.getResult());

}
@Ignore("Multiply() Not yet implemented")
@Test
public void testMultiply() {
}

@Test
public void testDivide() {
calculator.add(40);
calculator.divide(2);
assertEquals(20, calculator.getResult());
}

}

第四步:运行测试代码,得到测试结果。

技术分享

 

单元测试