我有一个类,我想用一个调用私有的公共方法测试.我想假设私有方法正常工作.例如,我喜欢类似的东西doReturn....when....我发现有可能使用PowerMock的解决方案,但这个解决方案对我不起作用.怎么做?有没有人有这个问题?
我对在JUnit测试套件中模拟对象感兴趣,但是我只遇到使用依赖注入来注入模拟对象的模拟框架.但是,我希望能够模拟类/函数,而不必像python中的@patch()那样注入那个模拟对象.
琐碎的例子:
//dependency injection
public String bar(Foo foo) {
return foo.foo(); //just pass in mock Foo object
}
//.... onto test code
Foo mockedFoo = <Mocked Foo object>;
String response = bar(mockedFoo);
assertEqual(response, <mockedFoo return value>);
//case I am looking for
public String bar() {
Foo foo = new Foo(); //how to create mock object here?
return foo.foo(); //or simply how to mock a single function?
}
//... onto test code
<force the Foo class or foo method to be …Run Code Online (Sandbox Code Playgroud)