今天找了几个JUnit的教程来看,其中一个教程用了一个小例子来说明JUnit的使用方法。很直观,所以我整理了一下,希望对不懂JUnit的朋友有所帮助。
以下是正文:
先创建一个简单的java文件,代码如下
这是为了测试用的一个做简单的加、减、乘、除运算的类,取名为Damn吧
public class Damn {
private static int result = 0;
public int add(int n) {
return result += n;
}
public int substract(int n) {
return result -= 1;//BUG, 正确的应该是result -= n
}
public void multiply(int n) {
}
public int divide(int n) {
return result /= n;
}
public void clear() {
result = 0;
}
public int getResult() {
return result;
}
}
然后为这个类创建一个JUnit测试用例
步骤:对要测试的文件点右键->new->JUnit Test Case,结果如图
选择我们勾选要测试的几个方法add(), substract(), multiply(), divide()
然后点finish,测试用例的创建就OK了。代码如下
import static org.junit.Assert.assertEquals;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
public class DamnTest {
private static Damn d = new Damn();
@Before
public void setUp() throws Exception {
d.clear();
}
@After
public void tearDown() throws Exception {
}
@Test
public void testAdd() {
d.add(2);
d.add(3);
assertEquals(5, d.getResult());
}
@Test
public void testSubstract() {
d.add(10);
d.substract(3);
assertEquals(7, d.getResult());
}
@Ignore("Multiply() Not yet implemented")
@Test
public void testMultiply() {
}
@Test
public void testDivide() {
d.add(8);
d.divide(2);
assertEquals(4, d.getResult());
}
}
然后对DamnTest.java文件右键run as->JUnit Test,就可以进行单元测试了
第一次测试结果肯定是出错,因为substractTest()的测试结果10-3肯定不等于预期的7,这是就提醒程序员要去修改源代码了。