关于java:SpringBoot使用Junit对service层进行单元测试带挡板创建

在对较为简单的service层进行单元测试时,会依赖很多其余业务产生的数据,从而造成测试方法或用例的不可反复执行。因而应用挡板来模仿dao层返回的数据将节俭很多工夫。

测试类的创立

@RunWith(SpringRunner.class)
@SpringBootTest
public class MyServiceTest {
    @Autowired
    MyService myService;
    @MockBean
    private MyMapper myMapper;
}

创立测试类的办法与个别步骤雷同,因为须要引入挡板,因而不同之处在于须要模仿一个该service依赖的dao实例。@MockBean标注的类的模仿实例将会代替从spring容器中获取的实在实例。

测试方法的编写

TOilTank oilTank = new TOilTank();
        oilTank.setId(1L);       
        oilTank.setStatus(0); 
        Mockito.when(oilTankMapper.selectByPrimaryKey(Mockito.anyLong())).thenReturn(oilTank);
        Assert.assertEquals(oilTank, oilTankService.getOilTankById(1L));

应用Mockitowhen()thenReturn()来指定模仿dao实例在执行指定办法时的返回,这里返回的是创立的假数据。参数能够Mockitoany指定类型,从而传入任意该类型的参数都会返回后果。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理