04 Junit

目录

第一个Junit单元测试

Junit注解

Junit断言


Junit是单元测试的框架

第一个Junit单元测试

继续之前02的程序

1.引入依赖

<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13-beta-3</version>
    <scope>test</scope>
</dependency>

2.在test/java下创建包com.example.hello.spring.service.test     创建类UserServiceTest

package com.example.hello.spring.service.test;

import com.example.hello.spring.service.UserService;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class UserServiceTest {
    
    private UserService userService;

    @Before
    public void before() {
        System.out.println("初始化数据库连接操作");
        ApplicationContext context=new ClassPathXmlApplicationContext("spring-context.xml");
        userService=(UserService) context.getBean("userService");
    }

    @Test
    public void testUserService(){
          userService.sayHi();
    }

    @After
    public void after() {
        System.out.println("关闭数据库连接操作");
    }

}

Junit注解

注解描述
@Test 
public void method()
测试注释指示该公共无效方法它所附着可以作为一个测试用例。
@Before 
public void method()
Before 注释表示,该方法必须在类中的每个测试之前执行,以便执行测试某些必要的先决条件。
@BeforeClass
public static void method()
BeforeClass 注释指出这是附着在静态方法必须执行一次并在类的所有测试之前。发生这种情况时一般是测试计算共享配置方法(如连接到数据库)。
@After 
public void method()
After 注释指示,该方法在执行每项测试后执行(如执行每一个测试后重置某些变量,删除临时变量等)
@AfterClass 
public static void method()
当需要执行所有的测试在 JUnit 测试用例类后执行,AfterClass 注解可以使用以清理建立方法,(从数据库如断开连接)。注意:附有此批注(类似于 BeforeClass)的方法必须定义为静态。
@Ignore 
public static void method()
当想暂时禁用特定的测试执行可以使用忽略注释。每个被注解为 @Ignore 的方法将不被执行。

Junit断言

断言是编程术语,在测试时使用。就是你断定在这里会怎样,如果发生了,继续执行;否则,报错。

常用断言方法

 

断言描述
void assertEquals([String message], expected value, actual value)断言两个值相等。值可能是类型有 int, short, long, byte, char or java.lang.Object. 第一个参数是一个可选的字符串消息
void assertTrue([String message], boolean condition)断言一个条件为真
void assertFalse([String message],boolean condition)断言一个条件为假
void assertNotNull([String message], java.lang.Object object)断言一个对象不为空(null)
void assertNull([String message], java.lang.Object object)断言一个对象为空(null)
void assertSame([String message], java.lang.Object expected, java.lang.Object actual)断言,两个对象引用相同的对象
void assertNotSame([String message], java.lang.Object unexpected, java.lang.Object actual)断言,两个对象不是引用同一个对象
void assertArrayEquals([String message], expectedArray, resultArray)断言预期数组和结果数组相等。数组的类型可能是 int, long, short, char, byte or java.lang.Object.

小测试

  /**
     * 测试断言
     */
    @Test
    public void testAssert() {
        String obj1 = "hello";
        String obj2 = "hello";
        String obj3 = "junit";
        String obj4 = "junit";
        String obj5 = null;
        int var1 = 1;
        int var2 = 1;
        int[] arithmetic1 = {1, 2, 3};
        int[] arithmetic2 = {1, 2, 3};

        assertEquals(obj1, obj2);
        assertTrue("为真", var1 == var2);
        assertFalse("为假",var1 == var2);
        assertNotNull(obj1);
        assertNull(obj5);
        assertSame(obj3, obj4);
        assertNotSame(obj2, obj4);
        assertArrayEquals(arithmetic1, arithmetic2);
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值