如何在mockito中模拟一个新对象

时间:2015-08-28 12:38:15

标签: mocking mockito powermockito

嗨,大家好我正在写mockito测试,我遇到了一些我未能嘲笑的事情见下文:

SEOKey seoKey = new SEOKey(seoEntityId, SEOEntityType.valueOf(seoEntityType));

2 个答案:

答案 0 :(得分:1)

我不认为Mockito允许你模仿private void shellToFront(final Shell shell) { shell.getDisplay().syncExec(new Runnable() { @Override public void run() { if (!shell.getMinimized()) { shell.setMinimized(true); } shell.setMinimized(false); shell.setActive(); } }); } 方法。您需要做的是使用PowerMockito new方法。

这样的事情(如果重要的话,请随意添加你的论点):

whenNew

请记住使用您的类声明将要测试的类添加到PowerMockito.whenNew(SEOKey.class).withNoArguments().thenReturn(seoKeyMock); 注释中。这应该是您正在测试的类,而不是您调用@PrepareForTest方法的类。

答案 1 :(得分:0)

你可以

foreach ($a as $k => $v)
{
    $a[$k] = 'Hello!';
};

然后该成员被嘲笑。

另一种可能性是直接在测试方法中进行模拟:

@Mock
private SEOKey key;

@Before
public void setup(){
MockitoAnnotations.initMocks(this);
}