0

我记得读过一个示例,该示例显示了如何设置模拟对象的成员,例如:

 MyClass mockedClass = mock(MyClass.class);

//and something like this to set `someVariable` with some value 
Mokito.set(mockedClass.someVariable, actual_value_intended_to_be_set);

不幸的是,我无法再次找到该链接。有人可以尊重这些例子或在这里解释吗?

4

2 回答 2

0

'这'也许是你正在寻找的?

public class MyClassTest {

    @InjectMocks private MyClass mockedClass;

    @BeforeMethod(groups = { "unit" })
    public void setup() throws Exception {

        mockedClass = new MyClass();
        MockitoAnnotations.initMocks(this);
        Mockito.when(getSomeVariable()).thenReturn(actual_value_intended_to_be_set);
    }

    @Test(groups = { "unit" })
    public void testMyClass() throws Exception {
        //almost too trivial an example since you just setup this.
        Assert.assertEquals(getSomeVariable(), actual_value_intended_to_be_set);
    }

}

它还会创建您的MyClass对象和sets返回值。

于 2013-07-15T19:43:07.080 回答
0

如果你想让你的 mock 的外在行为看起来像 mockedClass.someVariable 有 actual_value_intended_to_be_set,你可以写:

when(mockedClass.getSomeVariable()).thenReturn(actual_value_intended_to_be_set);

快乐嘲讽!

于 2013-07-15T14:45:59.277 回答