第三天完

This commit is contained in:
syx_computer
2025-10-20 01:55:55 +08:00
parent 9fc2093505
commit 32ddf58d5e
44 changed files with 745 additions and 0 deletions

8
03. 后端Web基础(Maven基础)/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="maven-project01" />
<module name="maven-project02" />
<module name="maven-project03" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel target="17" />
</component>
</project>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/maven-project01/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/maven-project01/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/maven-project02/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/maven-project02/src/main/resources" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/maven-project03/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/maven-project03/src/main/resources" charset="UTF-8" />
</component>
</project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/maven-project01/pom.xml" />
<option value="$PROJECT_DIR$/maven-project02/pom.xml" />
<option value="$PROJECT_DIR$/maven-project03/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_20" default="true" project-jdk-name="corretto-20" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/03. 后端Web基础(Maven基础).iml" filepath="$PROJECT_DIR$/.idea/03. 后端Web基础(Maven基础).iml" />
</modules>
</component>
</project>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>maven-project01</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--配置依赖-->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.1.4</version>
<!--排除依赖-->
<exclusions>
<exclusion>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-observation</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--junit依赖-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.9.1</version>
<!--依赖范围-->
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.7.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,8 @@
package com.itheima;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello Maven ~");
}
}

View File

@@ -0,0 +1,33 @@
package com.itheima;
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
public class UserService {
/**
* 给定一个身份证号, 计算出该用户的年龄
* @param idCard 身份证号
*/
public Integer getAge(String idCard){
if (idCard == null || idCard.length() != 18) {
throw new IllegalArgumentException("无效的身份证号码");
}
String birthday = idCard.substring(6, 14);
LocalDate parse = LocalDate.parse(birthday, DateTimeFormatter.ofPattern("yyyyMMdd"));
return Period.between(parse, LocalDate.now()).getYears();
}
/**
* 给定一个身份证号, 计算出该用户的性别
* @param idCard 身份证号
*/
public String getGender(String idCard){
if (idCard == null || idCard.length() != 18) {
throw new IllegalArgumentException("无效的身份证号码");
}
return Integer.parseInt(idCard.substring(16,17)) % 2 == 1 ? "" : "";
}
}

View File

@@ -0,0 +1,155 @@
package com.itheima;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
public class UserServiceAiTest {
private UserService userService;
@BeforeEach // 在每个测试方法执行前执行
public void setUp() {
userService = new UserService();
}
@Test
public void getGender_ValidMaleIdCard_ReturnsMale() {
String gender = userService.getGender("100000200010011011");
assertEquals("", gender, "性别获取错误,应为男性");
}
@Test
public void getGender_ValidFemaleIdCard_ReturnsFemale() {
String gender = userService.getGender("100000200010011022");
assertEquals("", gender, "性别获取错误,应为女性");
}
@Test
public void getGender_NullIdCard_ThrowsException() {
assertThrows(IllegalArgumentException.class, () -> {
userService.getGender(null);
}, "无效的身份证号码");
}
@Test
public 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, "性别获取错误,应为女性");
}
/**
* 测试正常输入,返回正确的年龄
*/
@Test
public void getAge_ValidIdCard_ReturnsCorrectAge() {
String idCard = "100000199010011234"; // 出生日期1990-10-01
try (var mockedStaticLocalDate = mockStatic(LocalDate.class);
var mockedStaticPeriod = mockStatic(Period.class)) {
LocalDate birthDate = LocalDate.of(1990, 10, 1);
LocalDate currentDate = LocalDate.of(2025, 4, 5); // 当前日期假设为2025年4月5日
Period period = Period.between(birthDate, currentDate);
mockedStaticLocalDate.when(LocalDate::now).thenReturn(currentDate);
mockedStaticLocalDate.when(() -> LocalDate.parse("19901001", DateTimeFormatter.ofPattern("yyyyMMdd"))).thenReturn(birthDate);
mockedStaticPeriod.when(() -> Period.between(birthDate, currentDate)).thenReturn(period);
Integer age = userService.getAge(idCard);
assertEquals(34, age, "年龄计算错误");
}
}
/**
* 测试身份证号为null的情况应抛出异常
*/
@Test
public void getAge_NullIdCard_ThrowsException() {
assertThrows(IllegalArgumentException.class, () -> {
userService.getAge(null);
}, "无效的身份证号码");
}
/**
* 测试身份证号长度不为18的情况应抛出异常
*/
@Test
public void getAge_InvalidLengthIdCard_ThrowsException() {
assertThrows(IllegalArgumentException.class, () -> {
userService.getAge("123456789012345"); // 少于18位
}, "无效的身份证号码");
}
/**
* 测试出生日期为今天的情况年龄应为0
*/
@Test
public void getAge_BirthdayToday_ReturnsZero() {
String todayStr = "20250405";
String idCard = "100000" + todayStr + "1234";
try (var mockedStaticLocalDate = mockStatic(LocalDate.class);
var mockedStaticPeriod = mockStatic(Period.class)) {
LocalDate today = LocalDate.of(2025, 4, 5);
Period zeroPeriod = Period.ZERO;
mockedStaticLocalDate.when(LocalDate::now).thenReturn(today);
mockedStaticLocalDate.when(() -> LocalDate.parse(todayStr, DateTimeFormatter.ofPattern("yyyyMMdd"))).thenReturn(today);
mockedStaticPeriod.when(() -> Period.between(today, today)).thenReturn(zeroPeriod);
Integer age = userService.getAge(idCard);
assertEquals(0, age, "出生当天年龄应为0");
}
}
/**
* 参数化测试多个合法身份证号,验证年龄是否正确
*/
@ParameterizedTest
@ValueSource(strings = {
"100000199001011234", // 1990-01-01
"100000198506152345", // 1985-06-15
"100000200012313456" // 2000-12-31
})
public void getAge_MultipleValidIdCards_ReturnsCorrectAges(String idCard) {
String birthStr = idCard.substring(6, 14);
try (var mockedStaticLocalDate = mockStatic(LocalDate.class);
var mockedStaticPeriod = mockStatic(Period.class)) {
LocalDate birthDate = LocalDate.parse(birthStr, DateTimeFormatter.ofPattern("yyyyMMdd"));
LocalDate currentDate = LocalDate.of(2025, 4, 5);
int expectedAge = Period.between(birthDate, currentDate).getYears();
mockedStaticLocalDate.when(LocalDate::now).thenReturn(currentDate);
mockedStaticLocalDate.when(() -> LocalDate.parse(birthStr, DateTimeFormatter.ofPattern("yyyyMMdd"))).thenReturn(birthDate);
mockedStaticPeriod.when(() -> Period.between(birthDate, currentDate)).thenReturn(Period.between(birthDate, currentDate));
Integer actualAge = userService.getAge(idCard);
assertEquals(expectedAge, actualAge, "年龄计算错误");
}
}
}

View File

@@ -0,0 +1,78 @@
package com.itheima;
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 berforeAll(){
// 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");
// }
@Test
public void testGetAge(){
UserService userService = new UserService();
Integer age = userService.getAge("100000200010011011");
System.out.println(age);
}
@Test
public void testGetGender() {
UserService userService = new UserService();
String gender = userService.getGender("100000200010011011");
System.out.println(gender);
}
// 断言
@Test
public void testGenderWithAssert(){
UserService userService = new UserService();
String gender = userService.getGender("100000200010011011");
//断言
Assertions.assertEquals("", gender, "性别获取逻辑有问题");
}
@Test
public void testGenderWithAssert1(){
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);
}
}

View File

@@ -0,0 +1,3 @@
artifactId=maven-project01
groupId=com.itheima
version=1.0-SNAPSHOT

View File

@@ -0,0 +1,2 @@
D:\web-ai-code\web-ai-project01\maven-project01\src\main\java\com\itheima\UserService.java
D:\web-ai-code\web-ai-project01\maven-project01\src\main\java\com\itheima\HelloWorld.java

View File

@@ -0,0 +1,2 @@
D:\web-ai-code\web-ai-project01\maven-project01\src\test\java\com\itheima\UserServiceTest.java
D:\web-ai-code\web-ai-project01\maven-project01\src\test\java\com\itheima\UserServiceAiTest.java

View File

@@ -0,0 +1,5 @@
# Created at 2024-09-24T13:04:08.547
Boot Manifest-JAR contains absolute paths in classpath 'D:\develop\apache-maven-3.9.4\mvn_repo\org\apache\maven\surefire\surefire-api\3.1.2\surefire-api-3.1.2.jar'
Hint: <argLine>-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
'other' has different root

View File

@@ -0,0 +1,5 @@
# Created at 2024-09-24T13:04:26.662
Boot Manifest-JAR contains absolute paths in classpath 'D:\develop\apache-maven-3.9.4\mvn_repo\org\apache\maven\surefire\surefire-api\3.1.2\surefire-api-3.1.2.jar'
Hint: <argLine>-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
'other' has different root

View File

@@ -0,0 +1,5 @@
# Created at 2024-09-24T13:05:06.536
Boot Manifest-JAR contains absolute paths in classpath 'D:\develop\apache-maven-3.9.4\mvn_repo\org\apache\maven\surefire\surefire-api\3.1.2\surefire-api-3.1.2.jar'
Hint: <argLine>-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
'other' has different root

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="com.itheima.UserServiceAiTest" time="0.261" tests="10" errors="0" skipped="0" failures="0">
<properties>
<property name="java.specification.version" value="17"/>
<property name="sun.cpu.isalist" value="amd64"/>
<property name="sun.jnu.encoding" value="GBK"/>
<property name="java.class.path" value="D:\web-ai-code\web-ai-project01\maven-project01\target\test-classes;D:\web-ai-code\web-ai-project01\maven-project01\target\classes;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-context\6.1.4\spring-context-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-aop\6.1.4\spring-aop-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-beans\6.1.4\spring-beans-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-core\6.1.4\spring-core-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-jcl\6.1.4\spring-jcl-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-expression\6.1.4\spring-expression-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter\5.9.1\junit-jupiter-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-api\5.9.1\junit-jupiter-api-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\platform\junit-platform-commons\1.9.1\junit-platform-commons-1.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\apiguardian\apiguardian-api\1.1.2\apiguardian-api-1.1.2.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-params\5.9.1\junit-jupiter-params-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-engine\5.9.1\junit-jupiter-engine-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\platform\junit-platform-engine\1.9.1\junit-platform-engine-1.9.1.jar;"/>
<property name="java.vm.vendor" value="Oracle Corporation"/>
<property name="sun.arch.data.model" value="64"/>
<property name="user.variant" value=""/>
<property name="java.vendor.url" value="https://java.oracle.com/"/>
<property name="user.timezone" value="Asia/Shanghai"/>
<property name="os.name" value="Windows 10"/>
<property name="java.vm.specification.version" value="17"/>
<property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="user.country" value="CN"/>
<property name="sun.boot.library.path" value="D:\develop\JDK17\bin"/>
<property name="sun.java.command" value="C:\Users\deng\AppData\Local\Temp\surefire4810170680342648928\surefirebooter-20240924130506494_3.jar C:\Users\deng\AppData\Local\Temp\surefire4810170680342648928 2024-09-24T13-05-06_117-jvmRun1 surefire-20240924130506494_1tmp surefire_0-20240924130506494_2tmp"/>
<property name="jdk.debug" value="release"/>
<property name="surefire.test.class.path" value="D:\web-ai-code\web-ai-project01\maven-project01\target\test-classes;D:\web-ai-code\web-ai-project01\maven-project01\target\classes;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-context\6.1.4\spring-context-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-aop\6.1.4\spring-aop-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-beans\6.1.4\spring-beans-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-core\6.1.4\spring-core-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-jcl\6.1.4\spring-jcl-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-expression\6.1.4\spring-expression-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter\5.9.1\junit-jupiter-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-api\5.9.1\junit-jupiter-api-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\platform\junit-platform-commons\1.9.1\junit-platform-commons-1.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\apiguardian\apiguardian-api\1.1.2\apiguardian-api-1.1.2.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-params\5.9.1\junit-jupiter-params-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-engine\5.9.1\junit-jupiter-engine-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\platform\junit-platform-engine\1.9.1\junit-platform-engine-1.9.1.jar;"/>
<property name="sun.cpu.endian" value="little"/>
<property name="user.home" value="C:\Users\deng"/>
<property name="user.language" value="zh"/>
<property name="java.specification.vendor" value="Oracle Corporation"/>
<property name="java.version.date" value="2021-09-14"/>
<property name="java.home" value="D:\develop\JDK17"/>
<property name="file.separator" value="\"/>
<property name="basedir" value="D:\web-ai-code\web-ai-project01\maven-project01"/>
<property name="java.vm.compressedOopsMode" value="Zero based"/>
<property name="line.separator" value="&#10;"/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="java.specification.name" value="Java Platform API Specification"/>
<property name="surefire.real.class.path" value="C:\Users\deng\AppData\Local\Temp\surefire4810170680342648928\surefirebooter-20240924130506494_3.jar"/>
<property name="user.script" value=""/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="java.runtime.version" value="17+35-LTS-2724"/>
<property name="user.name" value="deng"/>
<property name="path.separator" value=";"/>
<property name="os.version" value="10.0"/>
<property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
<property name="file.encoding" value="GBK"/>
<property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
<property name="localRepository" value="D:\develop\apache-maven-3.9.4\mvn_repo"/>
<property name="java.vendor.url.bug" value="https://bugreport.java.com/bugreport/"/>
<property name="java.io.tmpdir" value="C:\Users\deng\AppData\Local\Temp\"/>
<property name="idea.version" value="2024.1"/>
<property name="java.version" value="17"/>
<property name="user.dir" value="D:\web-ai-code\web-ai-project01\maven-project01"/>
<property name="os.arch" value="amd64"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="sun.os.patch.level" value=""/>
<property name="native.encoding" value="GBK"/>
<property name="java.library.path" value="D:\develop\JDK17\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\develop\JDK17\bin;D:\develop\NodeJS;D:\develop\Microsoft VS Code;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Pro;ram Files\dotnet\;D:\develop\Git\cmd;D:\develop\mysql-8.0.34-winx64\bin;D:\software\ffmpeg\bin;D:\develop\微信web开发者工具\dll;D:\develop\NodeJS\;D:\develop\apache-maven-3.9.4\bin;D:\develop\python\Scripts\;D:\develop\python\;C:\Users\deng\AppData\Local\Microsoft\WindowsApps;;D:\develop\IntelliJ IDEA 2023.1\bin;;C:\Users\deng\AppData\Local\Programs\Microsoft VS Code\bin;D:\develop\DataGrip 2023.1\bin;;C:\Users\deng\AppData\Local\Programs\Fiddler;D:\develop\IntelliJ IDEA 2024.1\bin;;C:\Users\deng\AppData\Roaming\npm;D:\develop\Microsoft VS Code\bin;."/>
<property name="java.vm.info" value="mixed mode, sharing"/>
<property name="java.vendor" value="Oracle Corporation"/>
<property name="java.vm.version" value="17+35-LTS-2724"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="java.class.version" value="61.0"/>
</properties>
<testcase name="getGender_MultipleMaleIdCards_ReturnsMale(String)[1]" classname="com.itheima.UserServiceAiTest" time="0.117"/>
<testcase name="getGender_MultipleMaleIdCards_ReturnsMale(String)[2]" classname="com.itheima.UserServiceAiTest" time="0.004"/>
<testcase name="getGender_MultipleMaleIdCards_ReturnsMale(String)[3]" classname="com.itheima.UserServiceAiTest" time="0.003"/>
<testcase name="getGender_InvalidLengthIdCard_ThrowsException" classname="com.itheima.UserServiceAiTest" time="0.007"/>
<testcase name="getGender_ValidMaleIdCard_ReturnsMale" classname="com.itheima.UserServiceAiTest" time="0.002"/>
<testcase name="getGender_MultipleFemaleIdCards_ReturnsFemale(String)[1]" classname="com.itheima.UserServiceAiTest" time="0.003"/>
<testcase name="getGender_MultipleFemaleIdCards_ReturnsFemale(String)[2]" classname="com.itheima.UserServiceAiTest" time="0.002"/>
<testcase name="getGender_MultipleFemaleIdCards_ReturnsFemale(String)[3]" classname="com.itheima.UserServiceAiTest" time="0.004"/>
<testcase name="getGender_NullIdCard_ThrowsException" classname="com.itheima.UserServiceAiTest" time="0.002"/>
<testcase name="getGender_ValidFemaleIdCard_ReturnsFemale" classname="com.itheima.UserServiceAiTest" time="0.001"/>
</testsuite>

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="com.itheima.UserServiceTest" time="0.067" tests="7" errors="0" skipped="0" failures="0">
<properties>
<property name="java.specification.version" value="17"/>
<property name="sun.cpu.isalist" value="amd64"/>
<property name="sun.jnu.encoding" value="GBK"/>
<property name="java.class.path" value="D:\web-ai-code\web-ai-project01\maven-project01\target\test-classes;D:\web-ai-code\web-ai-project01\maven-project01\target\classes;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-context\6.1.4\spring-context-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-aop\6.1.4\spring-aop-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-beans\6.1.4\spring-beans-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-core\6.1.4\spring-core-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-jcl\6.1.4\spring-jcl-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-expression\6.1.4\spring-expression-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter\5.9.1\junit-jupiter-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-api\5.9.1\junit-jupiter-api-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\platform\junit-platform-commons\1.9.1\junit-platform-commons-1.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\apiguardian\apiguardian-api\1.1.2\apiguardian-api-1.1.2.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-params\5.9.1\junit-jupiter-params-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-engine\5.9.1\junit-jupiter-engine-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\platform\junit-platform-engine\1.9.1\junit-platform-engine-1.9.1.jar;"/>
<property name="java.vm.vendor" value="Oracle Corporation"/>
<property name="sun.arch.data.model" value="64"/>
<property name="user.variant" value=""/>
<property name="java.vendor.url" value="https://java.oracle.com/"/>
<property name="user.timezone" value="Asia/Shanghai"/>
<property name="os.name" value="Windows 10"/>
<property name="java.vm.specification.version" value="17"/>
<property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="user.country" value="CN"/>
<property name="sun.boot.library.path" value="D:\develop\JDK17\bin"/>
<property name="sun.java.command" value="C:\Users\deng\AppData\Local\Temp\surefire4810170680342648928\surefirebooter-20240924130506494_3.jar C:\Users\deng\AppData\Local\Temp\surefire4810170680342648928 2024-09-24T13-05-06_117-jvmRun1 surefire-20240924130506494_1tmp surefire_0-20240924130506494_2tmp"/>
<property name="jdk.debug" value="release"/>
<property name="surefire.test.class.path" value="D:\web-ai-code\web-ai-project01\maven-project01\target\test-classes;D:\web-ai-code\web-ai-project01\maven-project01\target\classes;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-context\6.1.4\spring-context-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-aop\6.1.4\spring-aop-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-beans\6.1.4\spring-beans-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-core\6.1.4\spring-core-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-jcl\6.1.4\spring-jcl-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\springframework\spring-expression\6.1.4\spring-expression-6.1.4.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter\5.9.1\junit-jupiter-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-api\5.9.1\junit-jupiter-api-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\platform\junit-platform-commons\1.9.1\junit-platform-commons-1.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\apiguardian\apiguardian-api\1.1.2\apiguardian-api-1.1.2.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-params\5.9.1\junit-jupiter-params-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\jupiter\junit-jupiter-engine\5.9.1\junit-jupiter-engine-5.9.1.jar;D:\develop\apache-maven-3.9.4\mvn_repo\org\junit\platform\junit-platform-engine\1.9.1\junit-platform-engine-1.9.1.jar;"/>
<property name="sun.cpu.endian" value="little"/>
<property name="user.home" value="C:\Users\deng"/>
<property name="user.language" value="zh"/>
<property name="java.specification.vendor" value="Oracle Corporation"/>
<property name="java.version.date" value="2021-09-14"/>
<property name="java.home" value="D:\develop\JDK17"/>
<property name="file.separator" value="\"/>
<property name="basedir" value="D:\web-ai-code\web-ai-project01\maven-project01"/>
<property name="java.vm.compressedOopsMode" value="Zero based"/>
<property name="line.separator" value="&#10;"/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="java.specification.name" value="Java Platform API Specification"/>
<property name="surefire.real.class.path" value="C:\Users\deng\AppData\Local\Temp\surefire4810170680342648928\surefirebooter-20240924130506494_3.jar"/>
<property name="user.script" value=""/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="java.runtime.version" value="17+35-LTS-2724"/>
<property name="user.name" value="deng"/>
<property name="path.separator" value=";"/>
<property name="os.version" value="10.0"/>
<property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
<property name="file.encoding" value="GBK"/>
<property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
<property name="localRepository" value="D:\develop\apache-maven-3.9.4\mvn_repo"/>
<property name="java.vendor.url.bug" value="https://bugreport.java.com/bugreport/"/>
<property name="java.io.tmpdir" value="C:\Users\deng\AppData\Local\Temp\"/>
<property name="idea.version" value="2024.1"/>
<property name="java.version" value="17"/>
<property name="user.dir" value="D:\web-ai-code\web-ai-project01\maven-project01"/>
<property name="os.arch" value="amd64"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="sun.os.patch.level" value=""/>
<property name="native.encoding" value="GBK"/>
<property name="java.library.path" value="D:\develop\JDK17\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\develop\JDK17\bin;D:\develop\NodeJS;D:\develop\Microsoft VS Code;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Pro;ram Files\dotnet\;D:\develop\Git\cmd;D:\develop\mysql-8.0.34-winx64\bin;D:\software\ffmpeg\bin;D:\develop\微信web开发者工具\dll;D:\develop\NodeJS\;D:\develop\apache-maven-3.9.4\bin;D:\develop\python\Scripts\;D:\develop\python\;C:\Users\deng\AppData\Local\Microsoft\WindowsApps;;D:\develop\IntelliJ IDEA 2023.1\bin;;C:\Users\deng\AppData\Local\Programs\Microsoft VS Code\bin;D:\develop\DataGrip 2023.1\bin;;C:\Users\deng\AppData\Local\Programs\Fiddler;D:\develop\IntelliJ IDEA 2024.1\bin;;C:\Users\deng\AppData\Roaming\npm;D:\develop\Microsoft VS Code\bin;."/>
<property name="java.vm.info" value="mixed mode, sharing"/>
<property name="java.vendor" value="Oracle Corporation"/>
<property name="java.vm.version" value="17+35-LTS-2724"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="java.class.version" value="61.0"/>
</properties>
<testcase name="testGenderWithAssert2" classname="com.itheima.UserServiceTest" time="0.002"/>
<testcase name="testGetGender2(String)[1]" classname="com.itheima.UserServiceTest" time="0.003"/>
<testcase name="testGetGender2(String)[2]" classname="com.itheima.UserServiceTest" time="0.002"/>
<testcase name="testGetGender2(String)[3]" classname="com.itheima.UserServiceTest" time="0.002"/>
<testcase name="testGetGender" classname="com.itheima.UserServiceTest" time="0.005">
<system-out><![CDATA[男
]]></system-out>
</testcase>
<testcase name="testGetAge" classname="com.itheima.UserServiceTest" time="0.033">
<system-out><![CDATA[23
]]></system-out>
</testcase>
<testcase name="testGenderWithAssert" classname="com.itheima.UserServiceTest" time="0.001"/>
</testsuite>

View File

@@ -0,0 +1,4 @@
-------------------------------------------------------------------------------
Test set: com.itheima.UserServiceAiTest
-------------------------------------------------------------------------------
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.261 s -- in com.itheima.UserServiceAiTest

View File

@@ -0,0 +1,4 @@
-------------------------------------------------------------------------------
Test set: com.itheima.UserServiceTest
-------------------------------------------------------------------------------
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.067 s -- in com.itheima.UserServiceTest

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>maven-project02</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@@ -0,0 +1,7 @@
package com.itheima;
public class HelloMaven {
public static void main(String[] args) {
System.out.println("Hello Maven....");
}
}

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>maven-project03</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@@ -0,0 +1,7 @@
package com.itheima;
public class HelloMaven {
public static void main(String[] args) {
System.out.println("Hello Maven ~~~");
}
}

View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="maven-project01" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel target="17" />
</component>
</project>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/maven-project01/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/maven-project01/src/main/resources" charset="UTF-8" />
</component>
</project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
</component>
</project>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/maven-project01/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="corretto-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/web-ai-project01.iml" filepath="$PROJECT_DIR$/web-ai-project01.iml" />
</modules>
</component>
</project>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>maven-project01</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@@ -0,0 +1,7 @@
package com.itheima;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="GENERAL_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>