概述
自上一篇博客起,我们现在有了测试类TestCalcuate,默认是这样的
package junit.demo;
import static org.junit.Assert.*;
import org.junit.Test;
public class TestCalcuate {
@Test
public void testAdd() {
fail("Not yet implemented");
}
@Test
public void testSub() {
fail("Not yet implemented");
.....
首先注解@Test表示这个方法是需要JUnit测试的方法,fail()函数的意思是测试失败,这就是为什么初始的测试类进行测试每个都会失败,因为方法里面的内容需要由我们自己写。
现在我们简单写一个testAdd
package junit.demo;
import static org.junit.Assert.*;
import org.junit.Test;
public class TestCalcuate {
@Test
public void testAdd() {
Calcuate calcuate = new Calcuate(); //新建对象实例
int result = calcuate.add(2, 3); //进行add操作
assertEquals(5, result); //通过断言assertEquals看上面得到的结果是不是期望的结果
}
@Test
public void testSub() {
fail("Not yet implemented");
.....
很好理解,要测试add方法,先创建对象,然后进行add操作,最后通过assertEquals断言看看得到的结果是不是我们期望的结果,此时再运行JUnit Test会发现testAdd成功,表示这个方法测试成功,和我们期望的一样。
接下来我们写testSub,聪明的人会发现,每个测试方法都要创建对象,一点都不人性,于是,就有了@Before和@After注解,@Before表示每次测试都会先执行一次,一般用于初始化。@After表示每次测试后都会执行一次,一般用于断开IO连接等。
package junit.demo;
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.Before;
public class TestCalcuate {
Calcuate calcuate; //全局变量
@Before //每次测试都会执行一次,一般用于初始化,一般取名为setUp
public void setUp() {
calcuate=new Calcuate();
}
@Test
public void testAdd() {
int result = calcuate.add(2, 3); //进行add操作
assertEquals(5, result); //通过断言assertEquals看上面得到的结果是不是期望的结果
}
@Test
public void testSub() {
assertEquals(3, calcuate.sub(5, 2));
}
.....
现在testAdd、testSub都已完成了测试,聪明的人又会发现,引用包的时候import static org.junit.Assert.*;是什么?意思是静态导入Assert,我们用到的fail和assertEquals都是Assert的静态方法,静态导入Assert之后,就不需要我们每次开头都写”Assert.”。
还有一些其他的标注和方法下一篇会详细讲解。
最后
以上就是欣喜保温杯为你收集整理的JUnit自动化单元测试(二):简单测试实例讲解的全部内容,希望文章能够帮你解决JUnit自动化单元测试(二):简单测试实例讲解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复