Mockito测试静态注入
注入类
@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{@Mock
br/>@Mock
br/>@Mock
br/>@InjectMocks
br/>@Mock
br/>@BeforeClass
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(); }
}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。