我有以下类(class)
class MyClass{
public void m(InputStream is){
...
Parser eParser = getExcelFileParser();
eParser.parse(is);
...
eParser.foo();
eParser.bar();
}
public ExcelFileParser getExcelFileParser(){
...
}
}
在这种情况下如何为方法m
编写单元测试?我只想模拟 eParser
对象。
这可能吗?
我使用 Mockito 和 PowerMockito
最佳答案
您可以使用 spy
在 Mockito 中做您想做的事(不需要 PowerMock),而无需更改您的代码。
在单元测试中,您需要执行以下操作:
ExcelFileParser parser = mock(ExcelFileParser.class);
MyClass myClass = spy(new MyClass());
doReturn(parser).when(myClass).getExcelFileParser();
关于java - 如何模拟从测试类的另一种方法获得的局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23153633/