欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Maven

Maven

2025/5/9 7:46:30 来源:https://blog.csdn.net/qq_61623880/article/details/147785030  浏览:    关键词:Maven

1-阿里云镜像

    <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>

2-Maven库

https://mvnrepository.com/
Maven Central Repository Search
Index of /groups/public
http://people.apache.org/repo/m2-snapshot-repository/
http://people.apache.org/repo/m2-incubating-repository/

3-JUnit

断言方法

描述

Assertions.assertEquals(Object exp, Object act, String msg)

检查两个值是否相等,不相等就报错。

Assertions.assertNotEquals(Object unexp, Object act, String msg)

检查两个值是否不相等,相等就报错。

Assertions.assertNull(Object act, String msg)

检查对象是否为null,不为null,就报错

Assertions.assertNotNull(Object act, String msg)

检查对象是否不为null,为null,就报错

Assertions.assertTrue(boolean condition, String msg)

检查条件是否为true,不为true,就报错

Assertions.assertFalse(boolean condition, String msg)

检查条件是否为false,不为false,就报错

Assertions. assertThrows(Class expType, Executable exec, String msg)

检查程序运行抛出的异常,是否符合预期。

注解

说明

备注

@Test 

测试类中的方法用它修饰才能成为测试方法,才能启动执行

单元测试

@ParameterizedTest

参数化测试的注解 (可以让单个测试运行多次,每次运行时仅参数不同)

用了该注解,就不需要@Test注解了

@ValueSource

参数化测试的参数来源,赋予测试方法参数

与参数化测试注解配合使用

@DisplayName

指定测试类、测试方法显示的名称 (默认为类名、方法名)

@BeforeEach

用来修饰一个实例方法,该方法会在每一个测试方法执行之前执行一次。

初始化资源(准备工作)

@AfterEach

用来修饰一个实例方法,该方法会在每一个测试方法执行之后执行一次。

释放资源(清理工作)

@BeforeAll

用来修饰一个静态方法,该方法会在所有测试方法之前只执行一次

初始化资源(准备工作)

@AfterAll

用来修饰一个静态方法,该方法会在所有测试方法之后只执行一次

释放资源(清理工作)

4-案例


import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;/*** 测试类*/
@DisplayName("用户信息测试类")
public class UserServiceTest {/*@BeforeAll //在所有的单元测试方法运行之前, 运行一次public static void beforeAll(){System.out.println("before All");}@AfterAll //在所有的单元测试方法运行之后, 运行一次public static void afterAll(){System.out.println("after All");}@BeforeEach //在每一个单元测试方法运行之前, 都会运行一次public void beforeEach(){System.out.println("before Each");}@AfterEach //在每一个单元测试方法运行之后, 都会运行一次public void afterEach(){System.out.println("after Each");}*/@Testpublic void testGetAge(){UserService userService = new UserService();Integer age = userService.getAge("100000200010011011");System.out.println(age);}@Testpublic void testGetGender(){UserService userService = new UserService();String gender = userService.getGender("100000200010011011");System.out.println(gender);}/*** 断言*/@Testpublic void testGenderWithAssert(){UserService userService = new UserService();String gender = userService.getGender("100000200010011011");//断言//Assertions.assertEquals("男", gender);Assertions.assertEquals("男", gender, "性别获取错误有问题");}/*** 断言*/@Testpublic void testGenderWithAssert2(){UserService userService = new UserService();//断言Assertions.assertThrows(IllegalArgumentException.class, () -> {userService.getGender(null);});}/*** 参数化测试*/@DisplayName("测试用户性别")@ParameterizedTest@ValueSource(strings = {"100000200010011011","100000200010011031","100000200010011051"})public void testGetGender2(String idCard){UserService userService = new UserService();String gender = userService.getGender(idCard);//断言Assertions.assertEquals("男", gender);}
}
package com.itheima;import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;import static org.junit.jupiter.api.Assertions.*;public class UserServiceAiTest {private UserService userService;@BeforeEach // 在每个测试方法执行前执行public void setUp() {userService = new UserService();}@Testpublic void getGender_ValidMaleIdCard_ReturnsMale() {String gender = userService.getGender("100000200010011011");assertEquals("男", gender, "性别获取错误,应为男性");}@Testpublic void getGender_ValidFemaleIdCard_ReturnsFemale() {String gender = userService.getGender("100000200010011022");assertEquals("女", gender, "性别获取错误,应为女性");}@Testpublic void getGender_NullIdCard_ThrowsException() {assertThrows(IllegalArgumentException.class, () -> {userService.getGender(null);}, "无效的身份证号码");}@Testpublic void getGender_InvalidLengthIdCard_ThrowsException() {assertThrows(IllegalArgumentException.class, () -> {userService.getGender("10000020001001101");}, "无效的身份证号码");}@ParameterizedTest@ValueSource(strings = {"100000200010011011", "100000200010011031", "100000200010011051"})public void getGender_MultipleMaleIdCards_ReturnsMale(String idCard) {String gender = userService.getGender(idCard);assertEquals("男", gender, "性别获取错误,应为男性");}@ParameterizedTest@ValueSource(strings = {"100000200010011022", "100000200010011042", "100000200010011062"})public void getGender_MultipleFemaleIdCards_ReturnsFemale(String idCard) {String gender = userService.getGender(idCard);assertEquals("女", gender, "性别获取错误,应为女性");}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词