当前位置: 首页 > news >正文

郑州网站建设msgg北京建设网上银行

郑州网站建设msgg,北京建设网上银行,wordpress 七牛 插件,联合会网站建设目录 一、背景二、对Dao层进行单元测试1 低效的方式1.1 使用SpringBootTest#xff1a;1.2 其他低效的方式 2 高效的方式2.1 示例#xff08;报错#xff1a;Failed to replace DataSource with an embedded database for tests#xff09;2.2 解决办法2.2.1 禁用自动配置的… 目录 一、背景二、对Dao层进行单元测试1 低效的方式1.1 使用SpringBootTest1.2 其他低效的方式 2 高效的方式2.1 示例报错Failed to replace DataSource with an embedded database for tests2.2 解决办法2.2.1 禁用自动配置的数据源替换 一、背景 虽然我们可以借助插件来高效生成xxxDO、xxxMapper.java、xxxMapper.xml但我们还需要对其进行修改。而在修改的过程中我们可能会漏了逗号或者类的字段类型与表的列类型不匹配这都会导致增删改查失败。每次失败重新启动应用的话会增加测试的时间开销。JRebel热部署插件虽然能热部署xml文件但有时候会失效。因此在进行controller-service-dao功能测试之前我们要先对dao层进行单元测试。 二、对Dao层进行单元测试 1 低效的方式 1.1 使用SpringBootTest SpringBootTest class UserMapperTest {Autowiredprivate UserMapper userMapper;Testvoid insert() {UserDO user new UserDO();user.setName(John);user.setAge(30);userMapper.insert(user);assertNotNull(user.getId(), Insert should generate ID);UserDO retrievedUser userMapper.selectById(user.getId());assertNotNull(retrievedUser, User should be retrieved after insertion);assertEquals(John, retrievedUser.getName(), Name should match);assertEquals(30, retrievedUser.getAge(), Age should match);}... }低效的原因使用SpringBootTest会加载整个应用的上下文。 1.2 其他低效的方式 把整个SpringBoot应用跑起来通过Postman进行测试。 企业级应用要么本地起不来要不跑一次要若干分钟。这么测试又要加班了… 2 高效的方式 SpringBoot整合Mybatis引入了这个依赖 dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.3.2/version /dependency同理也有对应的测试依赖 dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter-test/artifactIdversion2.3.2/version /dependency官方文档 2.1 示例报错Failed to replace DataSource with an embedded database for tests MybatisTest class UserMapperSimpleTest {Autowiredprivate UserMapper userMapper;Testvoid deleteById() {UserDO user new UserDO();user.setName(Alice);user.setAge(25);userMapper.insert(user);Integer userId user.getId();assertNotNull(userId, Insert should generate ID);userMapper.deleteById(userId);UserDO deletedUser userMapper.selectById(userId);assertNull(deletedUser, User should be deleted);} }报错Caused by: java.lang.IllegalStateException: Failed to replace DataSource with an embedded database for tests. If you want an embedded database please put a supported one on the classpath or tune the replace attribute of AutoConfigureTestDatabase.原因在测试中 Spring Boot 尝试替换数据源为一个内嵌的数据库但是它找不到一个支持的内嵌数据库。 2.2 解决办法 配置支持的内嵌数据库很麻烦又要建表又要构造数据禁用自动配置的数据源替换很方便一方面本地环境操作的是日常数据库另一方面MyBatis 测试是事务性的默认在每次测试结束时回滚 2.2.1 禁用自动配置的数据源替换 MybatisTest AutoConfigureTestDatabase(replace AutoConfigureTestDatabase.Replace.NONE) class UserMapperSimpleTest {Autowiredprivate UserMapper userMapper;Testvoid insert() {UserDO user new UserDO();user.setName(John);user.setAge(30);userMapper.insert(user);assertNotNull(user.getId(), Insert should generate ID);UserDO retrievedUser userMapper.selectById(user.getId());assertNotNull(retrievedUser, User should be retrieved after insertion);assertEquals(John, retrievedUser.getName(), Name should match);assertEquals(30, retrievedUser.getAge(), Age should match);}Testvoid deleteById() {UserDO user new UserDO();user.setName(Alice);user.setAge(25);userMapper.insert(user);Integer userId user.getId();assertNotNull(userId, Insert should generate ID);userMapper.deleteById(userId);UserDO deletedUser userMapper.selectById(userId);assertNull(deletedUser, User should be deleted);}}我测试了下Service标注的类确实没法注入了。 MybatisTest AutoConfigureTestDatabase(replace AutoConfigureTestDatabase.Replace.NONE) class UserMapperSimpleTest {Autowiredprivate UserMapper userMapper;Autowired(required false)private IUserService userService;Testvoid testUserServiceNotInjected() {assertNull(userService, User service should not be injected);}Testvoid testUserMapperInjected() {assertNotNull(userMapper, User mapper should be injected);} }而如果是SpringBootTest就会把Service标注的类也注入到容器中。
http://www.zqtcl.cn/news/654776/

相关文章:

  • 网站图片处理方案动漫制作这个专业怎么样
  • 做写手哪个网站好黄页网站建设黄页网站建设
  • 多语言企业网站免费模板网站哪个好
  • 拟一份饰品网站建设合同襄樊门户网站建设
  • 你对网站第一印象受欢迎的广州做网站
  • 网站开发项目的需求分析浙江省城乡建设网站证件查询
  • 整站seo定制简单 大气 网站模版
  • 网站界面设计策划书怎么做云匠网订单多吗
  • html教程 pdf网站建设优化兰州
  • 招聘网站可以同时做两份简历吗外贸网站示例
  • 黑链 对网站的影响企业融资计划书范本
  • 自己的简历怎么制作网站学院网站建设成效
  • 周口seo 网站郑州建站网站的公司
  • 网站布局模板北京装修大概多少钱一平方
  • 德阳网站建设ghxhwl风景网站模板
  • 昌邑网站建设拓者设计吧现代效果图
  • 学校网站建设成功案例网站开发需要学习哪些内容
  • 怎么让公司建设网站seo于刷网站点击
  • 网站建设合同严瑾建设网站宣传
  • 哪个网站做餐饮推广最好深圳市信任网站
  • 网站模板 整站源码广州网站vi设计报价
  • 百度速页建站wordpress审核插件
  • 怎么给网站wordpress专业的vi设计公司
  • 百度关键词在线优化寻找郑州网站优化公司
  • 网站建设适合什么单位网络推广员工作内容
  • 漂亮的网站维护页面wordpress加个微信登录
  • 网站设计是什么意思创建地址怎么弄
  • nas上建设网站文章网站哪里建设好
  • 消防网站模板广告设计专业需要学什么
  • 建设银行网站首页wordpress 登录函数