头歌-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***************************/
}
相关推荐
我命由我123451 天前
Android 控件 - 最简单的 Notification、Application Context 应用于 Notification
android·java·开发语言·junit·android studio·android jetpack·android-studio
android_cai_niao1 天前
JUnit 4.x最新版本
junit·junit5·junit4
快乐肚皮2 天前
OpenResty:Nginx的进化之路
nginx·junit·openresty
别会,会就是不问2 天前
Junit4下Mockito包的使用
java·junit·单元测试
我命由我123453 天前
JUnit - 自定义 Rule
android·java·开发语言·数据库·junit·java-ee·android-studio
剑之所向4 天前
嵌入式之lua脚本
开发语言·junit·lua
weixin_4624462310 天前
在宝塔 Nginx 上安装与配置 lua-cjson 教程
nginx·junit·lua
移幻漂流13 天前
Lua的现状与机遇:技术生态全景及高潜力领域分析
junit·单元测试·lua
IMPYLH14 天前
Lua 的 Table 模块
开发语言·笔记·后端·junit·游戏引擎·lua
移幻漂流15 天前
Lua脚本的游戏开发优势与应用开发局限:技术对比与行业实践深度解析
开发语言·junit·lua