关于mockito的mock用法~~~~求助~~~~

jy00578880 2019-06-27 02:07:52
有3个类如下:
A: 待测试的类
UtilClass: A类调用的一个共通类
ATest: JUnit测试类

class A
{
public String fun()
{
UtilClass util =new UtilClass();
String seqId= util.getSeq();

//将取得的seqId和其他数据插入DB中
//....略
}
}

class UtilClass
{
public String getSeq()
{
//返回一个DB中的自增seqId
}
}

class ATest
{
//这里想测试A类的fun方法,但是fun中调用了UtilClass类中的getSeq()方法返回了不可预知的seqid
//所以想测试A类时用mock模拟UtilClass中的getSeq()方法让其返回固定的一个值(比如"1").
//然后在用DBunit的比较方法,比较DB表中的插入的数据和想定结果是否一致

A a =new A();

//这里想mock A类中fun()方法中调用的UtilClass类的getSeq()方法时返回固定的值.不知道如何写?
UtilClass moc=mock(UtilClass.class);
when(moc.getSeq()).thenReturn("1");

//执行待测试方法(执行到调用UtilClass类的getSeq()方法时能返回"1"????)
a.fun();

//比较DB中的表的实际数据和做成的想定EXCEL中的数据
assertequit(DBTable,ExcelTable);

}


如何写能测试A类时mock到UtilClass类的getSeq()方法?能忽视掉自增的seqId最后顺利的比较结果?

...全文
67 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧