EasyMock / PowerMock导入问题

时间:2011-03-25 16:42:41

标签: java junit easymock powermock

我遇到了一些我无法弄清楚的问题,如果模拟是使用PowerMock创建的,我发现一个网站提出了与verify()不兼容的问题。

当我输入一行来创建一个模拟时,Eclipse告诉我该方法是不明确的,我最终必须将其指定为EasyMock.createMock或PowerMock.createMock。

我最初刚开始使用EasyMock,然后切换到PowerMock。导入语句的顺序是否重要,如果您使用的是PowerMock,重要的是不要包含某些EasyMock内容吗?

这就是我所拥有的:

import org.easymock.EasyMock;  
import org.junit.*;  
import org.junit.runner.RunWith;  

import static org.easymock.EasyMock.*;  
import static org.powermock.api.easymock.PowerMock.*;  
import org.powermock.reflect.Whitebox;  
import org.powermock.api.easymock.*;  
import org.powermock.api.easymock.PowerMock.*;  
import org.powermock.api.mockito.expectation.*;  
import org.powermock.api.mockito.*;  
import org.powermock.api.support.membermodification.*;  
import org.powermock.api.support.membermodification.MemberMatcher.*;  
import org.powermock.core.classloader.annotations.*;  
import org.powermock.modules.junit4.*;  

那里可能有一些裁员。冲突可能吗?为了消除歧义,顺序是否重要?

感谢。

克雷格

1 个答案:

答案 0 :(得分:4)

PowerMock示例中获取

import static org.easymock.EasyMock.aryEq;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.powermock.api.easymock.PowerMock.createMock;
import static org.powermock.api.easymock.PowerMock.expectNew;
import static org.powermock.api.easymock.PowerMock.replay;
import static org.powermock.api.easymock.PowerMock.verify;

请注意,它们不会从两个库中导入createMock。您不应导入EasyMock已使用PowerMock的任何内容。