问题描述
我开始为Java-Spring-project编写测试类。我使用JUnit和Mockito 但是无论如何,对于下面的语句,我总是会收到NullpointerException。
assert((dao.getAllBusinessRules(sourceSystemIdentifier)).size()>=0);
这是我的主班
Public class BusinessRulesDao extends SimpleDaoImpl‹BusinessRules>
{
static f1naI String GET_BUSInesS_RULES=“se1ect className,fileName,sourceSystemldentifier from Business_Rules where sourceSystemIdentifier=?”;
public List<BusinessRules> getAllBusinessRules(String sourceSystemIdentifier) {
sqlParameter param = new sqlParameter(Types.VARCHAR,"sourcesystemldentifier",sourceSystemtIdentifier);
List<BusinessRules› list = null;
ArrayList<IDBParameter> params = new ArrayList<IDBParameter›();
params.add(param) ;
1ist = this.query(GET_BUSInesS_RULES,params);
return list;
}
这是我的测试班
public class BusinessRulesDaoTest {
@Before
public void initMocks() {
MockitoAnnotations.initMocks(this);
}
BusinessRulesDao dao =Mockito.mock(BusinessRulesDao.class);
@Mock
BusinessRules rules;
SimpleDaoImpl<BusinessRules> impl=Mockito.mock(SimpleDaoImpl.class);
@Before
Public void setUp()
{
this.rules=new BusinessRules();
this.dao =new BusinessRulesDao();
assert(this.dao!=null&&this.rules!=null);
}
@Test
Public void getAllBusinessRulestest()
{
String sourceSystemIdentifier=”ssi”;
String sql=”sql”;
ArrayList<IDBParameter> params=new ArrayList<IDBParameter>();
List<BusinessRules> list = new ArrayList<>();
When(dao.getAllBusinessRules(anyString()).thenReturn(list);
When(impl.query(sql,params)).thenReturn(list);
list.add(rules);
assert((dao.getAllBusinessRules(sourceSystemIdentifier)).size()>=0);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)