5月7日,重新做人的第一天
今天想认真写一下测试实验,本来想照着老师的测试样例依葫芦画瓢搞一个代码出来,哎一个小小的问题看了一天。
问题主要在protected void setup()
{ a=new Computer()
;}
我当时还说这么写肯定不对,因为你都没有创建a这个对象,后面怎么就直接new了,我还给人家改成Computer a =new Computer();就和内阁脑子有大病一样,无语子。。。。结果下面不同的方法间的参数调用哪有那么简单,我直接给每个测试方法传Computer a (真是个傻瓜操作了)
要记住不同方法间要用相同的变量时,可以先定义一个全局变量再在方法里给它赋值。
还有想给变量初始化要重写setup方法。用它的自动生成不要自己写容易出错。(自动生成方法:代码处右击找到Source然后选择Override之后选中setup进行重写。)
package computer;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class ComputerTest extends TestCase{
private Computer a;
public ComputerTest(String testName){
super(testName);
}
@Override
protected void setUp() throws Exception {
//你刚刚的setUp重写写错了,(找人救了我)
// TODO Auto-generated method stub
super.setUp();
a = new Computer(3,4);
}
public void testAdd() {
int result =a.add();
int expResult = 7;
assertEquals(expResult, result);
}
public void textMinus() {
int result= a.minus();
int expResult= -1;
assertEquals(expResult,result);
}
public void testMultiply() {
int result = a.multiply();
int expResult= 12;
assertEquals(expResult,result);
}
public void testDivide() {
int result = a.divide();
int expResult= 0;
assertEquals(expResult,result);
}
public static TestSuite suite()
{
TestSuite suite=new TestSuite();
suite.addTest(new ComputerTest("testAdd"));
suite.addTest(new ComputerTest("testMinus"));
return suite;
}
}
可能有些的不对的或者不严谨的,希望大家多多留言。(教教我这个刚刚醒悟的后生)