首页 > 代码库 > 单元测试JUnit4 Ctrl + Shift + T

单元测试JUnit4 Ctrl + Shift + T

public class Calculator {
public int result = 0;

public int add(int operandl, int operand2) {
result = operandl + operand2;
return result;
}

public int subtract(int operandl, int operand2) {
result = operandl - operand2;
return result;
}

public int multiple(int operandl, int operand2) {
result = operandl * operand2;
for (; ; ) {

}
}

public int divide(int operandl, int operand2) {
result = operandl / 0;
return result;
}

public int getResult() {
return this.result;
}

}



public class CalculatorTest {
public static Calculator cal = new Calculator();

//测试开始前只能被执行一次
@BeforeClass
public static void setUpBeforClass() throws Exception {
System.out.println(" @BeforeClass");

}

//测试结束前只调用一次
@AfterClass
public static void tearDownAfterClass() throws Exception {
System.out.println("@AfterClass");
}

@Before
public void setUp() throws Exception {
System.out.println("测试开始");
}

@After
public void tearDown() throws Exception {
System.out.println("测试结束");
}

@Test
public void testSubstract() {
cal.subtract(4, 2);
assertEquals(2, cal.getResult());
// fail("Not yet implemented");
}

@Test
public void testAdd() {
cal.add(2, 2);
assertEquals(4, cal.getResult());
// fail("Not yet implemented");
}

//忽略执行
@Ignore
public void testMultiply() {
fail("Not yet implemented");

}

//测试用例时间不能超过2s,死循环时间超过2s
@Test(timeout = 2000)
public void testDivide() {
for (; ; ) ;
}

//执行之后抛出异常才成功
@Test(expected = ArithmeticException.class)
public void testDivideByZero() {
cal.divide(4, 0);
}

}

单元测试JUnit4 Ctrl + Shift + T