注入类
@Component
public class ApplyNodesDefines implements ApplicationContextAware{
private static BaseDao baseDao;
private static volatile Map<String, LinkedHashMap<String, ApplyProcessNode>> typeToProcessNodes = new HashMap<>();
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
baseDao = applicationContext.getBean(BaseDao.class);
}
public static List<ApplyProcessNode> getNodeDefinationList() {
Map<String, String> params = new HashMap();
return baseDao.queryForList("APPLY_QUERY.APPLY_PROCESS_NODE_QUERY", params, ApplyProcessNode.class);
}
}
测试类
public class ApplyNodesDefinesTest{br/>@Mock
private static BaseDao baseDao = new BaseDaoImpl();br/>@Mock
ApplicationContext applicationContext ;br/>@InjectMocks
private ApplyNodesDefines applyNodeDefines ;br/>@Mock
private UserInfoService userInfoService;br/>@BeforeClass
public void before() {
MockitoAnnotations.initMocks(this);
ApplicationContext applicationContext = Mockito.mock(ApplicationContext.class);
Mockito.when(applicationContext.getBean(BaseDao.class)).thenReturn(baseDao );
ApplicationContextAware applicationContextAware = new ApplyNodesDefines();
applicationContextAware.setApplicationContext(applicationContext);
}
@Test
public void getNodeDefinationListTest(){
when(baseDao.queryForList(eq("APPLY_QUERY.APPLY_PROCESS_NODE_QUERY"), anyMap(), eq(ApplyProcessNode.class))).thenReturn(new ArrayList());
applyNodeDefines.getNodeDefinationList();
}
}
转载于:https://blog.51cto.com/2369716/2062554