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

猜你喜欢

转载自www.cnblogs.com/lshan/p/9285320.html