我有一个代码:
A a = someOtherObject.someMethod();
if(null != a)
{
if(a.getPropertyOfA().equals("testValue"))
{
//some code
这是一种方法的一部分。
现在使用powerMockito,当我尝试创建一个testCase时,我写了以下代码片段:
A a = PowerMockito.mock(A.class);
a.setPropertyOfA("testValue");
//some other code
但在运行代码时,在JUnit运行期间,属性的值显示为null。为什么Property值没有设置为我在测试类中设置的值?
我必须实例化对象,而不是嘲笑它吗?
该方法的someMethod()方法调用是否导致任何错误?
如果你的代码是这样的,那么你首先模拟A。然后给它一个行为。
A mockA = mock(A.class);
when(mockA.getPropertyOfa()).thenReturn("testValue");
因此,当为A的属性调用A实例时,它将返回"testValue"。