junit4简单入门

1、导入junit4(junitxxx.jar)或者使用maven引入Junit4依赖

21>若不使用maven管理:

         1.在项目文件夹下建立test文件夹,并设定测试资源权限

         2.建立测试类,假如为UserTest

         3.进行测试

                   1new你想测试的对象

                   2)建立方法进行测试

publicclassCalculatorTest{
//你要测试哪个类,那么你首先就要创建一个该类的对象
privatestaticCalculatorcalculator=newCalculator();
/*
*@Before
@After是每个测试方法执行前后均需要执行,*因此不适合累中耗资源,或者耗时过大的操作。*@BeforeClass@AfterClass两个Fixture来帮规避此问题。*从名字上就可以看出,用这两个Fixture标注的函数,只在测试用例*初始化时执行@BeforeClass方法,当所有测试执行完毕之后,执行
*@AfterClass进行收尾工作。在这里要注意一下,每个测试类只能有
*一个方法被标注为@BeforeClass@AfterClass
*并且该方法必须是PublicStatic
**/
@BeforeClass
publicstaticvoidsetUpBeforeClass()throwsException{
}

@AfterClass
publicstaticvoidtearDownAfterClass()throwsException{
}
/*
*
我们非常希望每一个测试都是独立的,相互之间没有任何耦合度。
*因此,我们就很有必要在执行每一个测试之前,对Calculator对象进行一个复原操作,
*以消除其他测试造成的影响。因此,在任何一个测试执行之前必须执行的代码就是一个Fixture
*我们用@Before来标注它这里不在需要@Test标注*
**/
@Before
publicvoidsetUp()throwsException{
calculator.clear();
}

@After
publicvoidtearDown()throwsException{
}
//@Test
标准的方法,返回值必须是void,而且无参数
@Test
publicvoidtestAdd(){
calculator.add(2);
calculator.add(3);
assertEquals(5,calculator.getResult());//
第一个参数填写期待结果,第二个参数填写实际结果

}

@Test
publicvoidtestSubstract(){
calculator.add(10);
calculator.substract(2);
assertEquals(8,calculator.getResult());
}
/*
*
如果你已经把该方法的测试用例写完,但该方法尚未完成,那么测试的时候一定是失败
*这种失败和真正的失败是有区别的,因此JUnit提供了一种方法来区别他们,那就是在这种
*测试函数的前面加上@Ignore标注,这个标注的含义就是某些方法尚未完成,暂不参与此次测试
*这样的话测试结果就会提示你有几个测试被忽略,而不是失败。一旦你完成了相应函数,只需要把@Ignore标注删去,
*就可以进行正常的测试。
**/
@Ignore
@Test
publicvoidtestMultiply(){
calculator.add(2);
calculator.multiply(3);
assertEquals(6,calculator.getResult());
}

@Test
publicvoidtestDivide(){
calculator.add(8);
calculator.divide(2);
assertEquals(4,calculator.getResult());
}
/*
*
对于那些逻辑很复杂,循环嵌套比较深的程序,
*很有可能出现死循环,因此一定要采取一些预防措施。
*限时测试是一个很好的解决方案。我们给这些测试函数设定
*一个执行时间,超过了这个时间,他们就会被系统强行终止,
*并且系统还会向你汇报该函数结束的原因是因为超时,这样你就可以发现这些Bug
*测试例子calculator中的squareRoot是个死循环。
**/
@Test(timeout=1000)//
单位为毫秒
publicvoidsquareRoot(){
calculator.squareRoot(4);
assertEquals(2,calculator.getResult());
}
/*
使用@Test标注的expected属性,将我们要检验的异常传递给他,
*这样JUnit框架就能自动帮我们检测是否抛出了我们指定的异常
**/
@Test(expected=ArithmeticException.class)
publicvoiddivideByZero(){
calculator.divide(0);
}
}

        

2>使用maven

1.直接在maven进行测试的文件夹下进行测试(例如maven_spring_1\test-dao\src\test,可视情况而定分包)

23步骤同上

        

猜你喜欢

转载自blog.csdn.net/qq_21955179/article/details/52053218