PowerMock.expectNew与andAnwser而不是andReturn

时间:2013-12-03 00:10:38

标签: easymock powermock

我正在尝试使用PowerMock和andAnswer来返回测试存根而不是原始类,但它似乎不起作用。测试存根是原始类的子类。

expectNew(Foo.class, isA(String.class))).andAnswer(new IAnswer<Foo> {
    @Override
    public Foo answer() throws Throwable {
        return new FooStub((String)getCurrentArguments()[0]);
    }
}).anyTimes();

当代码尝试实例化一个新的Foo时,我的answer方法永远不会被调用,我得到以下错误:

java.lang.IllegalStateException:必须重播类Foo以获得配置的期望。

谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:0)

传递调用方法参数并尝试调用invocation.getArugments [0]

的结果