Junit_使用步骤与Junit_@Before&@After
Junit_使用步骤
白盒测试
建议:
*测试类名:被测试的类名Test CalculatorTest
* 包名:xxx.xxx.xx.test cn.itcast.test
2.定义测试方法:可以独立运行
* 建议:
* 方法名:test测试的方法名 testadd()
* 返回值:void
* 参数列表:空参
3.给方法加@Test
不使用main方法就使用它
4.导入junit 依赖环境
这是Test的环境依赖
在其中Junit测试中如果测试通过为绿色的
如果测试不通过的话就会出现红色
判定结果:
绿色:代表成功
红色:代表失败
一般我们会使用断言操作来处理结果
新方法断言
Assert.assertEquals(期望的结果,程序运算的结果)
判断是否和预想的结果一样的
不一样的话
结果一样的话
package day01.Demo01_Day017.da; /** * 计算机类 */ public class Calculator { //加法 public int add(int a,int b){ //int i =3/0; return a-b; } //减法 public int sub(int a, int b){ return a-b; } }
package day01.Demo01_Day017.xiao; import day01.Demo01_Day017.da.Calculator; import org.junit.Assert; import org.junit.Test; public class CalculatorTest { /* 测试add方法 */ @Test public void testadd(){ // System.out.println("我已经无语了"); //1.创建计算机对象 Calculator c = new Calculator(); //2. 调用add方法 int add = c.add(1, 999); // System.out.println(add); //3.断言 我断言这个结果的3 Assert.assertEquals(-998,add); } public void testsub(){ //创建计算机对象 Calculator c = new Calculator(); int sub = c.sub(1, 1); Assert.assertEquals(0,sub); } }
Junit_@Before&@After
补充:
@Before:修饰的方法会在测试方法之前被自动执行
@After:修饰方法会在测试方法之前被自动执行
package day01.Demo01_Day017.xiao; import day01.Demo01_Day017.da.Calculator; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class CalculatorTest { /** * 初始化方法 * 用于资源 申请,所有测试方法在执行之前都会先执行该方法 */ @Before @Test public void inti(){ System.out.println("我先执行了"); } /** * 释放资源方法 * 在所有测试方法执行完后,都会自动执行该方法 */ @After public void colose(){ System.out.println("俺被消灭了"); } /* 测试add方法 */ @Test public void testadd(){ // System.out.println("我已经无语了"); //1.创建计算机对象 System.out.println("testadd执行中...."); Calculator c = new Calculator(); //2. 调用add方法 int add = c.add(1, 3); // System.out.println(add); //3.断言 我断言这个结果的3 Assert.assertEquals(-998,add); } @Test public void testsub(){ //创建计算机对象 Calculator c = new Calculator(); int sub = c.sub(1, 1); System.out.println("testsub执行中....."); Assert.assertEquals(0,sub); } }