当前位置: 首页 > article >正文

头歌-Junit实训入门篇

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

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注解

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断言

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时间测试

package step4;

import org.junit.Test;

public class TestTimeOut {
    // 请在下面的Begin/End内补全test()超时测试函数
    /***********************Begin**************************/
    @Test(timeout = 1000) 
    public void test() {
       
        while (true) {
         
        }
    }
    /************************End***************************/
}


http://www.kler.cn/a/581086.html

相关文章:

  • 2025华晨宇火星演唱会盛大启幕 中西乐交融视听美学再攀高峰
  • LeeCode题库第五十题
  • mac安装java环境
  • 【面试】计算机网络
  • 在Visual Studio 2022中实现Qt插件开发
  • 蓝桥杯嵌入式组第七届省赛题目解析+STM32G431RBT6实现源码
  • Python从入门到精通1:FastAPI
  • 现代优雅品牌杂志广告邀请函设计衬线手写英文字体 Buttercy Font Duo
  • 深入解析 C 语言中含数组和指针的构造体与共同体内存计算
  • 【数据结构】二叉搜索树、平衡搜索树、红黑树
  • HTML <head> 元素详解:网页头部的关键组成部分
  • ragflow-组件可视化工具 es默认用户名elastic
  • sonarqube+SonarScanner+postpresql+jenkins
  • 解决 React 中的 Hydration Failed 错误
  • 打造智能钉钉机器人:借助智谱GLM-4-Flash实现高效智能回复(文末附源码)
  • leetcode1143.最长公共子序列
  • 【设计模式】掌握建造者模式:如何优雅地解决复杂对象创建难题?
  • 用Qt手搓AI助手,挑战24小时开发DeepSeek Assistant!
  • 分布式系统中分布式ID生成方案的技术详解
  • 如何在c# 项目中使用redis