旅游网站开发文档怎么写,设计师要考什么证,wordpress p标签,如何做律师网站往期文章「Java并发编程」谈谈Java中的内存模型JMM面试官#xff1a;说说你知道多少种线程池拒绝策略为什么不要在MySQL中使用UTF-8编码方式前言很多公司都有写单元测试的硬性要求#xff0c;在提交代码的时候#xff0c;如果单测通不过或者说单元测试各种覆盖率不达标…往期文章「Java并发编程」谈谈Java中的内存模型JMM面试官说说你知道多少种线程池拒绝策略为什么不要在MySQL中使用UTF-8编码方式前言很多公司都有写单元测试的硬性要求在提交代码的时候如果单测通不过或者说单元测试各种覆盖率不达标会被拒绝合并代码。写单元测试也是保证代码质量的一种方式。junit单元测试相信绝大多数的Java开发者都用过Junit来写单元测试。引入依赖junit junit 4.12直接在方法上加上Test注解即可:加了Test注解就会有一个运行的图标了。spring的依赖问题现在的Java开发基本上离不开spring了。但是使用spring写单测的时候就会存在一个依赖注入的问题。假设有如下一个ServiceServicepublic class TestService { public String getString() { return Hello World!; }}在Junit中直接自动装配public class JunitTest { Autowired private TestService testService; Test public void test() { System.out.println(testService.getString()); }}运行报错springboot写单元测试在springboot中解决spring依赖问题非常的简单。只需要它提供的几个注解即可引入依赖org.springframework.boot spring-boot-starter-test test这里引入了一个spring-boot-starter-test依赖是springboot中写单测所需要的。在单元测试类上添加RunWith(SpringRunner.class)、SpringBootTest注解这时候就可以正常的把spring依赖注入进来了运行方法可以看到springboot启动时的输出如果是通过spring initialize创建的springboot项目(本系列第一篇文章有讲解)其实会自动创建一个单元测试类我们在写单元测试的时候直接继承这个类即可。单元测试事务回滚写单元测试难免需要操作数据库。有时候单元测试的数据库跟开发时候的数据库是同一个为了不影响数据库的数据需要在单测完成之后将操作回滚。这在springboot中也是很容易解决的事情只需要将单测类继承AbstractTransactionalJUnit4SpringContextTests即可数据库有数据如下单元测试类如下测试方法如下Testpublic void deleteAll() { userRepo.deleteAll();}执行方法后如果事务不会滚则会清除user表中的所有数据。通过结果查看单测运行没有问题查看数据库数据也没有被删除证明事务已经回滚了。把继承的AbstractTransactionalJUnit4SpringContextTests类去掉再次执行deleteAll方法数据库中的数据已被删除总结本文介绍了springboot中写单元测试的方法。其实优雅的写单元测试需要涉及到很多东西比如mock(mockito、mockmvc等)本文都没有涉及有兴趣的可以了解下。