我是Mockito的新人。我正在编写SomeDaoImplclass
这是SomeDaoImplClass
@Override
Public SomeModelClass retriveSomeDetails(int a,long b){
return retrieveSomeDetails(a,b,Enum.Active)
}
这是我的测试类
@Mock
private SomeDaoImplClass someDaoImplClass
@Mock
private NamedParameterJdbcTemplate jdbcTemplate
@Mock
DataSource dataSource
@Mock
SomeDaoClass someDaoClass
@Before
Public void setUp() throws Exception {
someDaoImplClass = new SomeDaoImplClass();
dataSource = Mockito.mock(DataSource.class);
jdbcTemplate = Mockito.mock(NamedParameterJdbcTemplate.class);
someDaoClass = Mockito.mock(SomeDaoClass.class);
SomeDaoImplClass.setDataSource(dataSource);
SomeDaoImplClass.setSomeDaoClass(someDaoClass);
}
@Test
public void testSomeData(){
Modelclass modelclass = new ModelClass();
Mockito.when(SomeDaoClass.retriveSomeDetails(Mockito.anyInt(),Mockito.anyLong())).thenReturn(modelClass);
ModelClass object2 = SomeDaoImplClass.retriveSomeDetails(01,1000L,Class.Active);
Assert.assertEquals(01,1000L, object2);
}
答案 0 :(得分:0)
首先,我强烈建议你看一下[1](但要小心使用正确的版本
其次,你确实犯了一些初步错误。
你想测试grViz(generate_dot(mygraph2))
但是你正在创建一个模拟,所以你并没有真正测试这个类
我不知道您是否使用SomeDaoImplClass
,但根据您的代码和实现,我假设没有。因此,您需要MockitoJUnitRunner
或使用MockitoAnnotations.initMocks(this)
你正在使用静态getter和setter来设置你的“DaoImplClass”和其他所需的类,我不知道你的实现,但我很确定,它应该是
JUnitRule
而不是
someDaoImplClass.setDataSource(daraSource);
你的测试目前似乎没有意义,你想测试什么?你的目标是什么?在提问时你绝对应该提供更多的背景信息,并在发布
[1] http://static.javadoc.io/org.mockito/mockito-core/2.8.9/org/mockito/Mockito.html