• mock 的独立使用


    public class Air21QueryMileStoneJobTest{
        @InjectMocks
        Air21QueryMileStoneJob air21QueryMileStoneJob ;
        @InjectMocks
         Air21OrderStatusHandler air21OrderStatusHandler;
        @org.mockito.Mock
        private LocationDAO locationDAO;
        @Before
        public void setup() {
             locationDAO= new LocationDAO();
             air21OrderStatusHandler = new Air21OrderStatusHandler();
             air21OrderStatusHandler.setLocationDAO(locationDAO);
            
             /*Map<String, String> criteriaMap = new HashMap<String, String>();
                criteriaMap.put("location", "AA");
             Mockito.when(locationDAO.query(criteriaMap)).thenReturn("GTM+8");*/
             MockitoAnnotations.initMocks(this); 
        }
        
    @Test
        public void testQueryActionDateTzName() throws Exception {
            
            Map<String, String> criteriaMap = new HashMap<String, String>();
            criteriaMap.put("location", "AA");
            ArrayList<LocationDO> arrayList = new ArrayList<LocationDO>();
            LocationDO locationDO = new  LocationDO();locationDO.setTimezone("AAAA");
          arrayList.add(locationDO);
         Mockito.when(locationDAO.query(criteriaMap)).thenReturn(arrayList);
             
            //  Air21OrderStatusHandler air21OrderStatusHandler = new    Air21OrderStatusHandler();
              String queryActionDateTz = air21OrderStatusHandler.queryActionDateTz("AA");
              System.out.println(queryActionDateTz);
        }
    View Code

    元代码:

    public class Air21OrderStatusHandler {
        /********************************
         * 1.convert bean step1 get comment data step2 loop scan_details step3 convert
         * data to order_status step4 collect order_status
         * 
         * 2.if status is DDL or DL1 ,update edi_history isOverMileStone="true"
         * 
         * 3.delete old milestone info
         * 
         * 4.save new milestone to orderstatus table
         ***************************************/
        @Autowired
        private LocationDAO locationDAO;
    
        
    
    
    public String queryActionDateTz(String postLocation) {
            LOGGER.info("start get timezone by  location");
            String fTimeZone = "";
            Map<String, String> criteriaMap = new HashMap<String, String>();
            criteriaMap.put("location", postLocation);
            @SuppressWarnings("unchecked")
            List<LocationDO> locationDOlist = (List<LocationDO>) locationDAO.query(criteriaMap);
            if (!locationDOlist.isEmpty() && locationDOlist.size() > 0) {
                fTimeZone = locationDOlist.get(0).getTimezone();
            } else {
                fTimeZone = MilestoneConstant.TIME_ZONE;
            }
            LOGGER.info("end get timezone by  location");
            LOGGER.info("TimeZone is :{}", fTimeZone);
            return fTimeZone;
        }
    View Code

    springboot  使用Mock

    @RunWith(MockitoJUnitRunner.class)
    @Slf4j
    public class TestMilestoneController 
    {
    
        

    解决依赖注入:

        @InjectMocks
        public MilestoneServiceImpl milestoneService;
        
        @Mock
        public MilestoneService milestoneServices;
    
         @Mock
        private MilestoneRepository milestoneRepository;
    
         @Mock
        @Qualifier("mongoTemplate")
        private MongoTemplate mongoTemplate;
    
         @Mock
        private BookingService bookingService;
    @Service
    @Slf4j
    public class MilestoneServiceImpl implements MilestoneService {
    
        @Autowired
        private MilestoneRepository milestoneRepository;
    
        @Autowired
        @Qualifier("mongoTemplate")
        private MongoTemplate mongoTemplate;
    
        @Autowired
        private BookingService bookingService;
    
        @Autowired
        private OrderService orderService;
        @Autowired
        private CreateAndPushMilestoneHandler createAndPushMilestoneHandler;
    
    
        @Autowired
        private MilestoneExcelUploadHandler milestoneExcelUploadHandler;
  • 相关阅读:
    ASP.NET 加密 Part.5(加密查询字符串)
    ASP.NET 加密 Part.3(非对称算法)
    ASP.NET 加密 Part.4(加密数据库中的敏感数据)
    ASP.NET 加密 Part.2(对称算法)
    正则表达式
    ASP.NET 自定义成员资格提供程序 Part.2(实现提供程序类:XmlMembershipProvider)
    ASP.NET 加密 Part.1(简介)
    ASP.NET 用户配置 Part.2(SQLProfileProvider)
    ASP.NET 用户配置 Part.1(理解:性能与限制)
    ASP.NET 自定义成员资格提供程序 Part.3(实现提供程序类:XmlRoleProvider)
  • 原文地址:https://www.cnblogs.com/lshan/p/9285320.html
Copyright © 2020-2023  润新知