zoukankan      html  css  js  c++  java
  • 【Junit4】:要点随笔

    1. 引入Junit4的Maven依赖

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    2. Junit中的常用注解

    • @BeforeClass – 针对所有测试,只执行一次,且必须为static void,在类中的任意public static void方法执行之前执行
    • @Before – 初始化方法   对于每一个测试方法都要执行一次,在任意使用@Test注解标注的public void方法执行之前执行(注意与BeforeClass区别,后者是对于所有方法执行一次)。
    • @Test – 使用该注解标注的public void方法会表示为一个测试方法,可以添加测试期望异常和超时时间。例如:@Test(expected=ArithmeticException.class)检查被测方法是否抛出ArithmeticException异常 
    • @Ignore:忽略的测试方法 
    • @After – 释放资源  对于每一个测试方法都要执行一次,在任意使用@Test注解标注的public void方法执行之后执行(注意与AfterClass区别,后者是对于所有方法执行一次)
    • @AfterClass – 针对所有测试,只执行一次,且必须为static void, 在类中的任意public static void方法执行之后执行

    一个JUnit4的单元测试用例执行顺序为: 

    @BeforeClass -> @Before -> @Test -> @After -> @AfterClass

    3. 使用示例:

    import org.junit.After;
    import org.junit.AfterClass;
    import org.junit.Before;
    import org.junit.BeforeClass;
    import org.junit.Test;
    
    public class Junit4Demo {
        // Run once, e.g. Database connection, connection pool
        @BeforeClass
        public static void runOnceBeforeClass() {
            System.out.println("@BeforeClass - runOnceBeforeClass");
        }
    
        // Run once, e.g close connection, cleanup
        @AfterClass
        public static void runOnceAfterClass() {
            System.out.println("@AfterClass - runOnceAfterClass");
        }
    
        // Should rename to @BeforeTestMethod
        // e.g. Creating an similar object and share for all @Test
        @Before
        public void runBeforeTestMethod() {
            System.out.println("@Before - runBeforeTestMethod");
        }
    
        // Should rename to @AfterTestMethod
        @After
        public void runAfterTestMethod() {
            System.out.println("@After - runAfterTestMethod");
        }
    
        @Test
        public void test_method_1() {
            System.out.println("@Test - test_method_1");
        }
    
        @Test
        public void test_method_2() {
            System.out.println("@Test - test_method_2");
        }
    }

    输出:

    @BeforeClass - runOnceBeforeClass
    @Before - runBeforeTestMethod
    @Test - test_method_1
    @After - runAfterTestMethod
    @Before - runBeforeTestMethod
    @Test - test_method_2
    @After - runAfterTestMethod
    @AfterClass - runOnceAfterClass
  • 相关阅读:
    Pick-up sticks
    The Doors
    Intersecting Lines
    Segments
    TOYS
    Palindrome
    Distinct Substrings
    Milk Patterns
    Musical Theme
    JavaScript基于时间的动画算法
  • 原文地址:https://www.cnblogs.com/wwcom123/p/9092050.html
Copyright © 2011-2022 走看看