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();
            } 

}