• mockIto


    package com.carbond.landmark.converter.gb2016;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.changan.carbond.landmark.converter.gb2016.VehicleLoginConverter;
    import com.changan.carbond.landmark.dto.VehicleLoginDto;
    import com.changan.carbond.landmark.handler.gb2016.VehicleLoginSerialNumHandler;
    import com.changan.carbond.landmark.model.gb2016.GBBaseModel;
    import com.changan.carbond.landmark.util.GBVehicleHelper;
    import com.changan.carbond.landmark.util.ProtocolTool;
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.InjectMocks;
    import org.mockito.Mock;
    import org.mockito.Mockito;
    import org.mockito.MockitoAnnotations;
    import org.mockito.invocation.InvocationOnMock;
    import org.mockito.stubbing.Answer;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import org.springframework.test.context.web.WebAppConfiguration;
    
    
    import static org.assertj.core.api.Assertions.*;
    import static org.mockito.Mockito.when;
    
    import java.util.Date;
    
    /**
     * Created by Bonker on 2018/6/5.
     */
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @WebAppConfiguration
    @ContextConfiguration(locations = {"classpath:applicationContext.xml"})
    public class VehicleLoginConverterTest {
    
        private Logger logger = LoggerFactory.getLogger(this.getClass());
    
        @InjectMocks
        private VehicleLoginConverter target = new VehicleLoginConverter();
    
        @Mock
        GBVehicleHelper gbVehicleHelper;
    
        @Mock
        VehicleLoginSerialNumHandler vehicleLoginSerialNumHandler;
    
        @Before
        public void steup() {
            MockitoAnnotations.initMocks(this);
            when(gbVehicleHelper.newSerialNum()).thenReturn(1);
            //无返回值
            Mockito.doAnswer(new Answer() {
                @Override
                public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
                    Object[] args = invocationOnMock.getArguments();
                    return "called with arguments: " + args;
                }
            }).when(vehicleLoginSerialNumHandler).putLoginSerialNum("LFBJDBB43WJ000118", 1);
        }
    
        @Test
        public void convert() {
            VehicleLoginDto vehicleLoginDto = new VehicleLoginDto();
            vehicleLoginDto.setBatteriesCode(new String[]{"001", "002"});
            vehicleLoginDto.setIccid("1234567890123");
            vehicleLoginDto.setDate(new Date());
            vehicleLoginDto.setVin("LFBJDBB43WJ000118");
    
            //转换对象
            GBBaseModel gbBaseModel = target.convert(vehicleLoginDto);
            logger.info(JSON.toJSONString(gbBaseModel));
            try {
                byte[] data = gbBaseModel.encode();
                logger.info(ProtocolTool.getBytesAsHexStr(data));
                assertThat(data).isNotEmpty();
            }catch (Exception e){
                logger.info("error",e);
            }
    
        }
    
        @Test
        public void converter(){
            String jsonStr="{"carId":"925184500671971328","tuid":"50002001170911990000000007045755","vin":"LS5A3AJCXJB008944","iccid":"898602B32216C0476992","date":1528353792586,"batteriesCode":[],"targetType":"VehicleLoginDto"}";
            JSONObject jsonObj = JSON.parseObject(jsonStr);
             VehicleLoginDto vehicleLoginDto=jsonObj.toJavaObject(VehicleLoginDto.class);
    
            //转换对象
            GBBaseModel gbBaseModel = target.convert(vehicleLoginDto);
            logger.info(JSON.toJSONString(gbBaseModel));
            try {
                byte[] data = gbBaseModel.encode();
                logger.info(ProtocolTool.getBytesAsHexStr(data));
                assertThat(data).isNotEmpty();
            }catch (Exception e){
                logger.info("error",e);
            }
    
        }
    }
    
    
    package com.carbond.landmark.converter.gb2016;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.changan.carbond.landmark.converter.gb2016.VehicleLogoutConverter;
    import com.changan.carbond.landmark.dto.VehicleLoginDto;
    import com.changan.carbond.landmark.dto.VehicleLogoutDto;
    import com.changan.carbond.landmark.handler.gb2016.VehicleLoginSerialNumHandler;
    import com.changan.carbond.landmark.model.gb2016.GBBaseModel;
    import com.changan.carbond.landmark.util.ProtocolTool;
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.InjectMocks;
    import org.mockito.Mock;
    import org.mockito.MockitoAnnotations;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import org.springframework.test.context.web.WebAppConfiguration;
    
    import java.util.Date;
    
    import static org.assertj.core.api.Assertions.assertThat;
    import static org.mockito.Mockito.when;
    
    /**
     * Created by Bonker on 2018/6/5.
     */
    @RunWith(SpringJUnit4ClassRunner.class)
    @WebAppConfiguration
    @ContextConfiguration(locations = {"classpath:applicationContext.xml"})
    public class VehicleLogoutConverterTest {
    
        private Logger logger = LoggerFactory.getLogger(this.getClass());
    
        @InjectMocks
        private VehicleLogoutConverter target = new VehicleLogoutConverter();
    
    
        @Mock
        VehicleLoginSerialNumHandler vehicleLoginSerialNumHandler;
    
        @Before
        public void steup() {
            MockitoAnnotations.initMocks(this);
            when(vehicleLoginSerialNumHandler.getLoginSerialNum("LFBJDBB43WJ000118")).thenReturn(1);
        }
    
        @Test
        public void convert() {
            VehicleLogoutDto vehicleLogoutDto=new VehicleLogoutDto();
            vehicleLogoutDto.setLogoutDate(new Date());
            vehicleLogoutDto.setVin("LFBJDBB43WJ000118");
    
            //转换对象
            GBBaseModel gbBaseModel = target.convert(vehicleLogoutDto);
            logger.info(JSON.toJSONString(gbBaseModel));
            try {
                byte[] data = gbBaseModel.encode();
                logger.info(ProtocolTool.getBytesAsHexStr(data));
                assertThat(data).isNotEmpty();
            }catch (Exception e){
                logger.info("error",e);
            }
    
        }
    
        @Test
        public void converter(){
            String jsonStr=" {"vin":"LS5A3CJC3JF810045","logoutDate":1528363761736,"targetType":"VehicleLogoutDto"}";
            JSONObject jsonObj = JSON.parseObject(jsonStr);
            VehicleLogoutDto vehicleLoginDto=jsonObj.toJavaObject(VehicleLogoutDto.class);
    
            //转换对象
            GBBaseModel gbBaseModel = target.convert(vehicleLoginDto);
            logger.info(JSON.toJSONString(gbBaseModel));
            try {
                byte[] data = gbBaseModel.encode();
                logger.info(ProtocolTool.getBytesAsHexStr(data));
                assertThat(data).isNotEmpty();
            }catch (Exception e){
                logger.info("error",e);
            }
    
        }
    
    }
    
    
    		<dependency>
    			<groupId>org.mockito</groupId>
    			<artifactId>mockito-all</artifactId>
    			<version>1.10.19</version>
    			<scope>test</scope>
    		</dependency>
    <dependency>
    			<groupId>org.assertj</groupId>
    			<artifactId>assertj-core</artifactId>
    			<version>2.4.1</version>
    			<scope>test</scope>
    		</dependency>
    <dependency>
    			<groupId>io.springfox</groupId>
    			<artifactId>springfox-swagger-ui</artifactId>
    			<version>2.8.0</version>
    		</dependency>
    
    
  • 相关阅读:
    关于 Python 对象拷贝的那点事?
    痞子衡嵌入式:嵌入式从业者应知应会知识点
    痞子衡嵌入式:高性能MCU之人工智能物联网应用开发那些事
    痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU特性那些事(2)- RT685SFVK性能实测(Dhrystone)
    痞子衡嵌入式:微处理器CPU性能测试基准(Dhrystone)
    痞子衡嵌入式:如果你正在量产i.MX RT产品,不妨试试这款神器RT-Flash
    痞子衡嵌入式:飞思卡尔i.MX RT系列MCU量产神器RT-Flash常见问题
    痞子衡嵌入式:飞思卡尔i.MX RT系列MCU量产神器RT-Flash用户指南
    痞子衡嵌入式:如果i.MX RT是一匹悍马,征服它时别忘了用马镫MCUBootUtility
    痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)
  • 原文地址:https://www.cnblogs.com/Bonker/p/9214949.html
Copyright © 2020-2023  润新知