初识Maven

Maven仓库用于存储和管理jar包。

Maven共有三种仓库(按访问优先级排列):本地仓库,远程仓库(私服),中央仓库(https://repo1.maven.org/maven2/)。

导入Maven项目

一、

二、

排除依赖

生命周期

单元测试

Junit单元测试步骤

package com.itheima;

//测试类
import org.junit.jupiter.api.Test;

public class UserServiceTest {
    @Test
    public void testGetAge(){
        UserService userService = new UserService(); //测试类和被测试类必须在同一个包名下
        Integer age = userService.getAge("100000200412100000");
        System.out.println(age);
    }
}

断言

@Test
    public void testGetGender(){
        UserService userService = new UserService();
        String gender = userService.getGender("142430200405160010");
        //断言(检测方法运行结果与预期结果是否一致,判断业务方法的正确性)
        Assertions.assertEquals("男",gender);
    }

    @Test
    public void testThrows(){
        UserService userService = new UserService();
        Assertions.assertThrows(IllegalArgumentException.class,() ->{
            userService.getGender("null");
        });
    }

常用注释

其中@ParameterizedTest+@ValueSource用于单元化测试,示例如下:

//参数化测试
    @ParameterizedTest
    @ValueSource(strings = {"142430200010100010","142430200010100030","142430200010100050"})
    @DisplayName("用户性别测试")
    public void testGetGender(String IDCard){
        UserService userService = new UserService();
        String gender = userService.getGender(IDCard);
        Assertions.assertEquals("男",gender);
    }

其中@DisplayName用于对测试类以及测试方法的功能作出说明,提高代码可读性,便于查看测试结果,示例如下:

Maven依赖范围

Maven常见问题及解决方案