java-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.*;  

那里可能有一些冗余.有可能发生冲突吗?为了消除歧义,顺序是否重要?

谢谢.

克雷格

解决方法:

以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的任何东西.

上一篇:centos7.6.1810最小安装(无附加项)部署redash-8.0.0


下一篇:java-Easymock部分模拟(EasyMock ClassExtension),好还是坏?