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

福永网站制作郑州微网站

福永网站制作,郑州微网站,浅析社区网站的建设,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.pierceye.com/news/79839/

相关文章:

  • 做 商城 网站 费用做网站的数据库的步骤
  • paypal网站集成个人手机网站建设
  • 网站怎么访问自己做的网页软件工程考研率为何低
  • 成都网站建设公司司网站建设教程自学网
  • 做网站运维杭州市招投标网
  • 山东住房和城乡建设部网站首页别墅建筑设计说明
  • 家居网站建设如何百度个人网站申请
  • 宁夏建设工程招标投标管理中心网站2016做网站还赚钱吗
  • 做网站困难嘛可视化网站模板编辑软件
  • 公司让做网站违法科技公司.net网站源码
  • 制作企业网站需要多少钱装修设计方案范本
  • 福州网站建设金森wordpress访问量统计
  • 合肥建设银行网站crm做的比较好的公司
  • 郑州哪里可以做网站网站中转页怎么做
  • 中文旅游网站html模板杭州网络公司建网站
  • 自己做的电商网站要多少钱手表网站免费设计
  • 网站 栏目做下拉WordPress添加有趣的
  • 怎样备份网站小广告设计
  • 偃师做网站wordpress08影视站
  • 做淘客网站哪个cms好开发小程序大概多少钱
  • 房屋经纪人网站端口怎么做网站建设春节放假
  • 网站开发公众号开发亚马逊网站建设分析
  • 高校专业建设网站零基础学it从哪方面学起
  • 眉山网站建设兼职营销型网站建设公司网络推广
  • 网站模板下载网站淘宝客怎么做直播网站
  • 郴州网站建设网站wordpress中visitor
  • 站长工具友链查询做rom的网站
  • 云梦网络 网站模板怎么做自己的博客网站
  • linux 搭建wordpress网站做优化需要哪些后台信息
  • 旧电脑怎么做网站平台网站开发公司