【发布时间】:2017-09-06 20:21:13
【问题描述】:
Class A
{
public B makeB(int q)
{
return new B(q);
}
public boolean evaluate(int q)
{
B b = makeB(q);
boolean result = b.get();
return result;
}
}
Class B
{
int e;
public B(int w)
{
e=w;
}
public boolean get()
{
//return boolean based on object B
}
}
Class ATest
{
A a = spy(A.class);
B b1 = mock(B.class);
B b2 = mock(B.class);
doReturn(b1).when(a).makeB(5);
doReturn(b2).when(a).makeB(10);
when(b1.get()).thenReturn(true);
when(b2.get()).thenReturn(false);
a.evaluate();
}
=========================
这里我想在对象 B 包含值 5 时从方法评估返回 true,如果它包含值 10,则返回 false。
B 类来自外部库。
单元测试和模拟的新手。
【问题讨论】:
-
使用 if else 语句
标签: java spring-boot junit mockito