头歌-Junit实训入门篇

第1关:第一个Junit测试程序

java 复制代码
package step1;

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import step1.JunitSub;

public class JunitSubTest {
    // 引入JunitSub对象
    JunitSub js = new JunitSub();

    /*
    请在下面的Begin/End内写一个测试函数,
    来验证JunitSub中的sub函数编写是否正确
    */
    /***********************Begin**************************/
    @Test
    public void testSub() {
        int result = js.sub(5, 2);
        int expected = 3;
        assertEquals(expected, result);
    }
    /************************End***************************/
}

第2关:Junit注解

java 复制代码
package step2;
 
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
 
public class JunitAnnotation {
    /*
     *以下Junit测试程序的输出结果为:
     *in before class
     *in before
     *in test
     *in after
     *in after class
     *请修改下面Begin/End内各个测试函数的注解,使输出结果逆序
     */
     /***********************Begin**************************/
 
 
 
   //execute before class
   @BeforeClass
   public static void afterClass() {
      System.out.println("in after class");
   }
 
   //execute after test
   
   @Before
   public void after() {
      System.out.println("in after");
   }
 
   //execute before test
   @After
   public void before() {
      System.out.println("in before");
   }
 
   //execute after class
   @AfterClass
   public static void beforeClass() {
      System.out.println("in before class");
   }
 
   //test case
   @Test
   public void test() {
      System.out.println("in test");
   }
 
   //execute before class
    /************************End***************************/
}

第3关:Junit断言

java 复制代码
package step3;

import static org.junit.Assert.*;
import org.junit.Test;

public class AssertionsTest {
    String obj1 = "junit";
    String obj2 = "junit";
    String obj3 = "test";
    String obj4 = "test";
    String obj5 = null;
    int var1 = 1;
    int var2 = 2;
    int[] arithmetic1 = {1, 2, 3};
    int[] arithmetic2 = {1, 2, 3};

    @Test
    public void test() {
        /***********************Begin**************************/

        assertEquals("obj1和obj2应该相等", obj1, obj2);

        assertEquals("obj3和obj4应该相等", obj3, obj4);

        assertNotEquals("obj1和obj3应该不相等", obj1, obj3);

        assertNotNull("obj1不应该为null", obj1);

        assertNull("obj5应该为null", obj5);

        assertEquals("var1应该等于1", 1, var1);

        assertNotEquals("var2应该不等于1", 1, var2);

        assertArrayEquals("arithmetic1和arithmetic2应该相等", arithmetic1, arithmetic2);


        /************************End***************************/
    }
}

第4关:Junit时间测试

java 复制代码
package step4;

import org.junit.Test;

public class TestTimeOut {
    // 请在下面的Begin/End内补全test()超时测试函数
    /***********************Begin**************************/
    @Test(timeout = 1000) 
    public void test() {
       
        while (true) {
         
        }
    }
    /************************End***************************/
}
相关推荐
盟道科技1 天前
Redis+Lua 实现滑动窗口限流:从固定窗口踩坑到生产可用的完整方案
redis·junit·lua
呆呆敲代码的小Y8 天前
Lua 上值(UpValue)
开发语言·junit·lua·lua上值·upvalue
呆呆敲代码的小Y8 天前
【游戏开发】xLua 性能优化技巧
junit·性能优化·lua·xlua
lhldsg12 天前
家政派单系统开发实战:从需求分析到智能调度全流程指南
java·junit·小程序·uni-app·需求分析
肠畔码农14 天前
深度解密 Redis 核心引擎:从 MULTI/EXEC 事务机制到 EVAL 脚本的原子性演进
数据库·redis·junit
会编程的吕洞宾16 天前
Spring Cloud Gateway限流:Redis令牌桶防刷实战
数据库·redis·junit
難釋懷18 天前
Nginx-Lua
nginx·junit·lua
萧瑟余晖19 天前
Java深入解析篇三十七之JUnit 5 详解
java·junit
骑士雄师22 天前
superpowers使用流程
junit·skill
重庆小透明23 天前
深入探寻微服务【第五篇微服务限流实战】
微服务·junit·架构