我遇到了一些我不太清楚的问题,我找到的一个网站建议,如果模拟是用PowerMock创建的,那么与verify()的不兼容问题。
当我输入一行代码来创建一个mock时,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.*; 那里可能会有一些冗余。有可能发生冲突吗?为了消除歧义,顺序很重要吗?
谢谢。
克雷格
发布于 2011-03-26 08:06:07
取自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。您不应该从已经使用PowerMock的EasyMock中导入任何内容。
https://stackoverflow.com/questions/5435438
复制相似问题