我正在编写一个测试类来测试我的'ImporterService'类.此服务读取InputStream并从其数据创建Object.Object(在本例中为Builder类)在"ImporterService"类中实例化.要测试我的'ImporterService'类,我需要验证Builder类的调用.为此,我想使用Mocking框架,但是如何在'ImporterService'之外创建'Builder'对象的模拟实例?
我的'ImporterService'类的方法如下所示:
public Builder importFrom(BufferedReader reader) throws IOException {
String someValue = readFrom(reader);
Builder builder = new Builder(); // I need to mock this Builder object...
builder.someMethod(someValue); // to see of a method is called with the expected value
}
我正在考虑将Builder类的创建移动到受保护的方法中,我可以在测试设置时覆盖它.但是这个解决方案对我来说似乎并不是很好,因为'ImporterService'类正在泄漏一些内部逻辑,并且可以通过我不想要的其他类来覆盖该方法.