实践作业2
https://github.com/Martin-LAU01/test/blob/master/%E5%AE%9E%E8%B7%B5%E4%BD%9C%E4%B8%9A2
新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。
package junit4; | |
import static org.junit.Assert.*; | |
import org.junit.Test; | |
import org.junit.After; | |
import org.junit.Before; | |
import org.junit.Ignore; | |
import org.junit.Test; | |
//import org.junit.internal.runners.calculator; | |
import org.junit.runner.RunWith; | |
//@RunWith(calculator.class) | |
public class calculatorTest { | |
private static calculator calculator=new calculator(); | |
@Before | |
public void setUp() throws Exception { | |
calculator.clear(); | |
} | |
@After | |
public void tearDown() throws Exception { | |
} | |
@Test(timeout=1000) | |
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(expected =ArithmeticException.class) | |
public void testDivide() { | |
calculator.add(8); | |
calculator.divide(0); | |
assertEquals(4,calculator.getResult()); | |
} | |
} |
第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”
在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library…”按钮 然后在新弹出的对话框中选择JUnit4并点击确定
第三步,生成JUnit测试框架:在Eclipse的Package Explorer中用右键点击该类弹出菜单,选择“New à JUnit Test Case”。点击“下一步”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此例中,我们仅对“加、减、乘、除”四个方法进行测试。
之后系统会自动生成一个新类CalculatorTest,里面包含一些空的测试用例。你只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest代码如下:
package junit4; | |
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) | |
{ | |
//此方法尚未写好 | |
} | |
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类上点右键,选择“Run As à JUnit Test”来运行我们的测试