发布时间:2023-05-28
浏览次数:0
1.添加单元测试依赖
提供组件以支持单元测试。 组件集成了Junit、.等测试框架,可以方便快捷的进行单元测试。
Maven 依赖项:
pom.xml
组织..引导
-引导--测试
测试
2.编译单元测试类
在工程的test目录下,新建一个单元测试类,以3.7节.java为例,介绍如何对数据库访问进行单元测试。
待测类和负责单元测试的类的目录结构如右图所示:
然后编译单元测试类的测试方法。 测试方法被标记为带有@Test 注释的单元测试。 因为是数据库访问的单元测试,所以建议在测试类中加上@注解,开启事务管理。 在单元测试的情况下intellij idea 数据库关系图,@注解会在每个单元测试方法执行完后执行数据回滚,防止单元测试数据污染数据库。
.java测试代码参考如下(实例限于篇幅没有测试.java中的所有方法):
.java
package com.test.cloud.demo.mapper;
import com.test.cloud.demo.vo.User;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
@RunWith(SpringRunner.class)
@SpringBootTest
//开启数据回滚,避免污染数据库
@Transactional
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
//测试方法的命名最好能描述需要测试的案例情况
public void testInsertThenSuccessInserted() {
User test = new User("123456", "testName", "男", "23");
int count = userMapper.insert(test);
//使用Assert断言来判断案例是否成功
Assert.assertTrue(count == 1);
User user = userMapper.select(test.getId());
Assert.assertTrue(user.equals(test));
}
//异常测试
@Test(expected = DuplicateKeyException.class)
public void testInsertWhenUserExistThenReturnException() {
User user1 = new User("147258", "testName", "男", "23");
int count = userMapper.insert(user1);
Assert.assertTrue(count == 1);
userMapper.insert(user1);
}
@Test(expected = Exception.class)
public void testInsertWhenIdIsNullThenReturnException() {
User user = new User(null, "testName", "男", "23");
userMapper.insert(user);
}
@Test
public void testUpdateThenSuccessUpdated() {
User user = new User("147258", "testName", "男", "23");
userMapper.insert(user);
user.setName("otherName");
userMapper.update(user);
User existUser = userMapper.select(user.getId());
Assert.assertTrue(existUser.getName().equals(user.getName()));
}
//更多测试方法,测试方法要尽可能覆盖正反案例、异常逻辑等
}
3.执行单元测试
测试类编写完成后intellij idea 数据库关系图,以IDEA为例,选择要执行的测试方法或测试类,右键选择Run或Debug执行单元测试,如右图所示:
笔记:
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码