mock 的独立使用

时间:2023-03-09 19:51:29
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);
}

元代码:

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() > ) {
fTimeZone = locationDOlist.get().getTimezone();
} else {
fTimeZone = MilestoneConstant.TIME_ZONE;
}
LOGGER.info("end get timezone by location");
LOGGER.info("TimeZone is :{}", fTimeZone);
return fTimeZone;
}