目录
前言需求描述说明
主要是针对写好的方法进行测试类的单元测试,因为开发的接口或者其他操作需要做一个单元测试!
测试类的代码
/*** SpringBoot 测试类
* @RunWith:启动器
*SpringJUnit4ClassRunner.class:让 junit 与 spring 环境进行整合
* @SpringBootTest(classes={App.class}) 1,当前类为 springBoot 的测试类
* @SpringBootTest(classes={App.class}) 2,加载 SpringBoot 启动类。启动 springBoot
* junit 与 spring 整合 @Contextconfiguartion("classpath:applicationContext.xml") */
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = {NppSqlApplication.class})
public class UserServiceTest {
@Autowired
private UserServiceImpl userServiceImpl;
@Test
public void testAddUser() {
this.userServiceImpl.addUser();
}
}
单元测试类的依赖jar
<
dependencies
>
<
dependency
>
<
groupId
>
org.springframework.boot
</
groupId
>
<
artifactId
>
spring-boot-starter-web
</
artifactId
>
</
dependency
>
<!--
添加
junit
环境的
jar
包
-->
<
dependency
>
<
groupId
>
org.springframework.boot
</
groupId
>
<
artifactId
>
spring-boot-starter-test
</
artifactId
>
</
dependency
>
</
dependencies
>
总结,就是一些业务逻辑,比如说接受消费kafka逻辑处理,redis链接测试,Dao的Mybatis查询以及一些其他的定时任务都是可以的处理的。在这里应用是很多需要用到这个场景!
实际工作中的测试类使用
还有另外一个比较高级些的,在工作中要经常使用测试类的话,这一些常用的集成肯定要做一个统一的管理,所以就在业务开发过程中,我们开发实际使用的是下面的这样的测试效果继承类!
@SpringBootTest(classes = { ApplicationTest.class })
public class BaseTest extends AbstractTestNGSpringContextTests {
@Test
public void runTest()
{
System.out.println("BaseJYPTest 启动测试");
}
}
另外一些业务测试代码,直接集成我这个总的测试类设置就可以叠!
比如测试一下钉钉消息发送
public class SyncJyDingTalkUserIdJobTest extends BaseTest {
@Autowired
private SyncJyDingTalkUserIdJob syncJyDingTalkUserIdJob;
@Test
public void test(){
try{
syncJyDingTalkUserIdJob.executeInternal(null);
}catch (JobExecutionException e){
}
}
}