欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JUnit注解整理

程序员文章站 2022-06-01 16:42:40
...

一.Junit注解

注解 作用
@Test 测试方法
@Ignore 忽略测试方法
@BeforeClass 所有测试方法前执行一次 ,修饰的方法必须为static
@AfterClass 所有测试方法后执行一次 ,修饰的方法必须为static
@Before 初始化方法,每个方法前都执行一次
@After 释放资源,每个方法后都执行一次
@RunWith 指定一个特殊的运行器
@SuteClasses 将需要进行测试的类列表作为参数传入

 

说明

1.Junit 4 的单元测试用例执行顺序为:

@BeforeClass –> @Before –> @Test –> @After –> @AfterClass;

 

2.每一个测试方法的调用顺序为:

@Before –> @Test –> @After。

 

[email protected]两个参数

(1) expected用于测试会抛出的异常,注意expected不起到catch作用,抛出异常后的代码不会被执行;

(2) timeout,传入指定的毫秒数,用于超市测试。

 

 

二.例子

import org.junit.*;
import org.junit.runner.*;
import org.slf4j.*;
import org.springframework.test.context.junit4.*;

//@RunWith(SpringJUnit4ClassRunner.class)
public class DemoTest {
    private static final Logger logger = LoggerFactory.getLogger(DemoTest.class);

    @BeforeClass
    public static void init() {
        logger.info("-- demo class init --");
    }

    @AfterClass
    public static void destroy() {
        logger.info("-- demo class destroy --");
    }

    @Before
    public void setUp() throws Exception {
        logger.info("demo method setup");
    }

    @After
    public void tearDown() throws Exception {
        logger.info("demo method tearDown");
    }

    @Test(expected = ArithmeticException.class)
    public void test1() {
        logger.info("demo method1 begin");
        int i = 0;
        i = 1 / i;
        logger.info("demo method1 end");
    }

    @Test(timeout = 1500)
    @Ignore
    public void test2() {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        logger.info("demo method2 end");
    }
}
 

 三. 断言:Assertions

1.断言(assertion)

是测试框架里面的若干个方法,用来判断某个语句的结果是否为真或判断是否与预期相符。

 

2.使用方式

可以通过 import static org.junit.Assert.*; 这种方法静态地导入Assert类。

 

3.不推荐

可以使用包括assertEquals、assertTrue等等很多内容。但由于JUnit的Assert.assertEquals(String message, String expected, String actual); 是公认的烂API,你很难记住三个参数的位置,所以不推荐使用,目前推荐使用AssertJ。

相关标签: unit test junit