运行以下单元测试会抛出异常:java.lang.IllegalStateException:没有最后一次调用可用的模拟
import org.easymock.*;
import org.junit.*;
public class MyTest {
@Test
public void testWithClass() {
Thread threadMock = EasyMock.createMock(Thread.class);
EasyMock.expect(threadMock.isAlive()).andReturn(true);
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么,在网上找不到任何好的例子.你如何使用EasyMock 3.0模拟一个类.上述单元测试有什么问题?任何帮助将不胜感激.
我的项目包括以下maven依赖项
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.objenesis</groupId>
<artifactId>objenesis</artifactId>
<version>1.2</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud) 如何使用EasyMock修改模拟方法的可变方法参数?
例如,我有一个使用BlockingQueue的类.我想模仿BlockingQueue成员进行单元测试.我的类调用方法queue.drainTo(Collection c).调用此方法将从队列中删除元素并将其添加到集合中.我如何使用EasyMock模拟这种行为?例子很棒.