Spring Boot junit4 单元测试

代码如下

package com.xlcloud.business.vip.service.app.orderinterface;

import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.xlcloud.business.vip.dto.pay.EmpiricalLog;
import com.xlcloud.business.vip.mapper.orders.EmpiricalLogMapper;
import com.xlcloud.business.vip.mapper.region.RegionMapper;
import com.xlcloud.business.vip.model.region.Region;
import com.xlcloud.business.vip.model.user.User;
import com.xlcloud.business.vip.util.pay.XuanLeServerUtil;
import org.junit.*;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnit;
import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.junit.MockitoRule;
import org.mockito.quality.Strictness;

import java.util.List;

//@RunWith(SpringRunner.class)
//@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
//@WebMvcTest(SimpleEmpiricalService.class)
//@AutoConfigureMockMvc
@RunWith(MockitoJUnitRunner.Silent.class)
public class SimpleEmpiricalServiceTest {


    @Mock
    private RegionMapper regionMapper;


    @Mock
    private EmpiricalLogMapper empiricalLogMapper;

    @Mock
    private XuanLeServerUtil xuanLeServerUtil;

    @InjectMocks
    private SimpleEmpiricalService simpleEmpiricalService;

    private static User user;
    private static String orderNo;
    private static Long totalPayMoney;

    private static Region region;

    private static List<EmpiricalLog> list;

    @BeforeClass
    public static void beforeClass() {
        user = new User();
        region = new Region();
        list = Lists.newArrayList();
        orderNo = "xxxxxxxx";
        totalPayMoney = 100L;
    }

    @Before
    public void setUp() {
        Mockito.when(xuanLeServerUtil.editSimpleEmpirical(Mockito.any(JSONObject.class))).thenReturn(2L);
        Mockito.when(empiricalLogMapper.insert(Mockito.any())).thenAnswer(invocationOnMock -> {
            EmpiricalLog a = invocationOnMock.getArgument(0);
            a.setId(1L);
            return 1;
        });
    }

    @Test
    public void test_add_empirical_regin_null() {
        Mockito.when(regionMapper.selectByPrimaryKey(Mockito.any(Long.class))).thenReturn(null);
        Long id = simpleEmpiricalService.editSimpleEmpirical(user, orderNo, 1, totalPayMoney);
        Assert.assertNull(id);

    }

    @Test
    public void test_add_empirical_regin_off() {
        region.setEmpiricalStatus(1);
        Mockito.when(regionMapper.selectByPrimaryKey(Mockito.any())).thenReturn(region);
        Long id = simpleEmpiricalService.editSimpleEmpirical(user, orderNo, 1, totalPayMoney);
        Assert.assertNull(id);
    }

    @Test
    public void test_add_empirical_regin_on() {
        region.setEmpiricalStatus(0);
        Mockito.when(regionMapper.selectByPrimaryKey(Mockito.any())).thenReturn(region);

        Long id = simpleEmpiricalService.editSimpleEmpirical(user, orderNo, 1, totalPayMoney);
        Assert.assertNotNull(id);
    }

    @Test
    public void test_add_empirical_regin_on_log_null() {
        region.setEmpiricalStatus(0);
        Mockito.when(regionMapper.selectByPrimaryKey(Mockito.any())).thenReturn(region);
        Mockito.when(empiricalLogMapper.getEmpiricalLogList(Mockito.any(), Mockito.any())).thenReturn(null);


        Long id = simpleEmpiricalService.editSimpleEmpirical(user, orderNo, 1, totalPayMoney);
        Assert.assertNotNull(id);
    }

    @Test
    public void test_add_empirical_regin_on_log_one() {
        region.setEmpiricalStatus(0);
        list.add(new EmpiricalLog());
        Mockito.when(regionMapper.selectByPrimaryKey(Mockito.any())).thenReturn(region);
        Mockito.when(empiricalLogMapper.getEmpiricalLogList(Mockito.any(), Mockito.any())).thenReturn(list);


        Long id = simpleEmpiricalService.editSimpleEmpirical(user, orderNo, 1, totalPayMoney);
        Assert.assertNull(id);
    }

    @Test
    public void test_add_empirical_regin_on_log_two() {
        region.setEmpiricalStatus(0);
        list.add(new EmpiricalLog());
        list.add(new EmpiricalLog());
        Mockito.when(regionMapper.selectByPrimaryKey(Mockito.any(Object.class))).thenReturn(region);
        Mockito.when(empiricalLogMapper.getEmpiricalLogList(Mockito.any(), Mockito.any())).thenReturn(list);


        Long id = simpleEmpiricalService.editSimpleEmpirical(user, orderNo, 1, totalPayMoney);
        Assert.assertNull(id);
    }

    @Test
    public void test_delete_empirical_regin_on_log_null() {
        region.setEmpiricalStatus(0);
        Mockito.when(regionMapper.selectByPrimaryKey(Mockito.any())).thenReturn(region);
        Mockito.when(empiricalLogMapper.getEmpiricalLogList(Mockito.any(), Mockito.any())).thenReturn(null);


        Long id = simpleEmpiricalService.editSimpleEmpirical(user, orderNo, 3, totalPayMoney);
        Assert.assertNull(id);
    }

    @Test
    public void test_delete_empirical_regin_on_log_one() {
        region.setEmpiricalStatus(0);
        list.add(new EmpiricalLog());
        Mockito.when(regionMapper.selectByPrimaryKey(Mockito.any())).thenReturn(region);
        Mockito.when(empiricalLogMapper.getEmpiricalLogList(Mockito.any(), Mockito.any())).thenReturn(list);


        Long id = simpleEmpiricalService.editSimpleEmpirical(user, orderNo, 3, totalPayMoney);
        Assert.assertNotNull(id);
    }

    @Test
    public void test_delete_empirical_regin_on_log_two() {
        region.setEmpiricalStatus(0);
        list.add(new EmpiricalLog());
        list.add(new EmpiricalLog());
        Mockito.when(regionMapper.selectByPrimaryKey(Mockito.any(Object.class))).thenReturn(region);
        Mockito.when(empiricalLogMapper.getEmpiricalLogList(Mockito.any(), Mockito.any())).thenReturn(list);


        Long id = simpleEmpiricalService.editSimpleEmpirical(user, orderNo, 3, totalPayMoney);
        Assert.assertNull(id);
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值