头歌-Junit实训入门篇

发布于:2025-03-12 ⋅ 阅读:(18) ⋅ 点赞:(0)

第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***************************/
}