一、导入jar
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.5.9</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.5.9</version>
<scope>test</scope>
</dependency>
</dependencies>
二、application.yml
# 日志相关配置
logging:
# 日志的显示级别
level:
# 根包的日志显示级别
com.test: trace
# 日志的级别从高到底为: OFF FATAL ERROR WARN INFO DEBUG TRACE
# 日志的级别设置为trace表示所有日志都显示
三、spring配置类:
在src/main/java/com/test包中创建SpringConfig.java
package com.test;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan(basePackages = "com.test")//用于创建bean对象
public class SpringConfig {
}
四、编写测试类:
在src/testjava/com/test包中创建TestCase2.java
package com.test;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
@SpringBootTest
@SpringJUnitConfig(SpringConfig.class)
@Slf4j//需要lombok的jar包
public class TestCase2 {
@Test
public void test1(){
addNew("lisi");
}
public void addNew(String adminName) {
//log.trace()需要spring-boot-starter的jar包
log.trace("业务逻辑层.类名.方法名()>>开始执行test1");
log.debug("尝试给数据库添加数据"+"这里写真实的数据信息");
log.trace("判断此账号是否已经被占用");
String rs=getByUsername(adminName);
if(rs!=null){
log.error("用户名被占用,即将抛出异常");
throw new RuntimeException("用户名被占用");
}
log.trace("此账号未被占用,准备向表中写入此次添加的管理员信息");
log.debug("加密前的密码:{},加密后的密码:{}", "password", "encodedPassword");
log.debug("即将插入新的管理员信息:{}", "admin");
int rows = insert(adminName);
// 判断以上返回的结果是否不为1,抛出InsertException异常
if (rows != 1) {
throw new RuntimeException("插入用户信息异常");
}else{
log.info("插入admin数据成功");
}
}
//这两个方法是模拟数据访问层代码 AdminiMapper.java
public String getByUsername(String adminName) {
//模拟从数据库中获取了用户信息并返回
if("zs".equals(adminName)){
return "zs";
}
return null;
}
public int insert(String adminName) {
log.info("AdminMapper::insert>>这里是模拟插入数据库操作的代码");
return 1;
}
}
zhaoYongQi 2022-06-07