Junit PowerMock提供了如何指定参数类型的新方法

Junit PowerMock提供了如何指定参数类型的新方法,junit,powermock,Junit,Powermock,当我使用PowerMock模拟构造函数时,我想指定参数的类型。我使用这个方法 PowerMock.expectNew(Class<T> type, Class<?>[] parameterTypes, Object... arguments) 如果我想指定字符串类型,我应该在参数类型中填写什么?给定这些示例类: public class MyClass { public MyClass(String theParam) { //Some inte

当我使用PowerMock模拟构造函数时,我想指定参数的类型。我使用这个方法

PowerMock.expectNew(Class<T> type, Class<?>[] parameterTypes, Object... arguments)

如果我想指定字符串类型,我应该在参数类型中填写什么?

给定这些示例类:

public class MyClass {
    public MyClass(String theParam) {
        //Some interesting code...
    }
}

public class MyFactory {
    public MyClass createMyClass() {
        return new MyClass("foo");
    }
}
然后,您将执行以下操作:

public class MyFactoryTest {
    @Test
    public void testCreateMyClass() {
        //...

        PowerMock.expectNew(MyClass.class, new Class[] {String.class}, "foo");

        //...
    }
}

给定这些示例类:

public class MyClass {
    public MyClass(String theParam) {
        //Some interesting code...
    }
}

public class MyFactory {
    public MyClass createMyClass() {
        return new MyClass("foo");
    }
}
然后,您将执行以下操作:

public class MyFactoryTest {
    @Test
    public void testCreateMyClass() {
        //...

        PowerMock.expectNew(MyClass.class, new Class[] {String.class}, "foo");

        //...
    }
}

非常感谢,它非常有用。但很抱歉,由于声誉不好,我不能投票支持。作为问题的作者,你仍然可以接受答案-您好,又是我。当我使用Whitebox.invokeConstructor时,我应该如何指定参数的类型读取文档:,java.lang.Class[],java.lang.Object[]。它的签名与expectNew相似。但这真的是一个不同的问题。非常感谢,它非常有用。但很抱歉,我不能投票支持,因为我的声誉很低。作为问题的作者,你仍然可以接受答案-您好,又是我。当我使用Whitebox.invokeConstructor时,我应该如何指定参数的类型读取文档:,java.lang.Class[],java.lang.Object[]。它的签名与expectNew相似。但这确实是一个不同的问题。