Junit4的在普通java项目里的运用

这里是以junit4为演示,引入和注解,不用再自己继承测试类了,非常方便

一、Junit常用的注解

注解 解释
@Before 和setUp()方法功能一样,在每个测试方法之前执行
@After 和tearDown方法功能一样,在每个测试方法之后执行
@BeforeClass 在所有方法执行之前执行(注意是在一个测试类的范围)
@AfterClass 在所有的方法执行之后执行(注意是在一个测试类的范围)
@Test 一个正常的测试方法的入口,分别这个方法是否是测试方法
@Test(timeout = xxx) 设置当前测试方法是否能在设置的时间内执行完,否则返回错误
@Test(expected = Exception.class) 是否有一场抛出,类型为Exception.class
@Ignore 注释掉一个测试方法或者一个类,不会被执行

下面解释一下@Before、@After、@BeforeClass、@AfterClass的区别(特别注意的是这是在一个测试类里的,不是所有测试类里的)
在这里插入图片描述
上面这张图就是执行顺序。但是不要以为@Before和@After在一个类里就可以有多个,其实是这个类里的@Before和@After在每个@Test执行前后都执行一次。而@BeforeClass和@AfterClass在在这个类被执行时才执行一次,当然如果你只执行此类中的一个方法,那@BeforeClass和@AfterClass也会执行一次相当于 @BeforeClass->@Before->@Test->@After->@AfterClass
所以在@BeforeClass里面执行的是在所有测试方法执行之前需要的准备工作
@Before里是每个方法执行前需要准备的工作,
@After和@AfterClass与之对应。
对于Test里的就是个性化的单元测试了,如果你涉及到身份的不同,可以写在@Test里,如果对于身份的获取可以单独写一个私有的方法,让@Test调用或者整个测试类继承基类,基类就是身份的获取

二、Assert/fail有哪些方法

方法 解释
assertEquals(boolean expected, boolean actual) 检查两个变量或者等式是否平衡
void assertTrue(boolean expected, boolean actual) 检查条件为真
void assertFalse(boolean condition) 检查条件为假
void assertNotNull(Object object) 检查对象不为空
void assertNull(Object object) 检查对象为空
void assertSame(boolean condition) 检查两个相关对象是否指向同一个对象
void assertNotSame(boolean condition) 检查两个相关对象是否不指向同一个对象
void assertArrayEquals(expectedArray, resultArray) 检查两个数组是否相等
void fail() 测试失败

上面所有的方法都可以加一个String Message的参数,这个参数的含义是错误的信息,自己定义的,这样便于我们在控制台观察错误信息的要点

三、Junit5

升级到JUnit5的7个理由
JUnit 5和JUnit 4比较

发布了213 篇原创文章 · 获赞 22 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_43113679/article/details/103845334