小编use*_*435的帖子

模拟内部实例化对象

我正在编写一个测试类来测试我的'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'类正在泄漏一些内部逻辑,并且可以通过我不想要的其他类来覆盖该方法.

java testing mocking

7
推荐指数
1
解决办法
4506
查看次数

标签 统计

java ×1

mocking ×1

testing ×1