java - 将依赖注入(inject)与 Apache Commons IO 结合使用

标签 java dependency-injection io

我有一个类“a”,它使用 Apache Commons IO 的 FileUtils 类来复制目录。

因为我必须为类“a”编写单元测试,所以我需要能够注入(inject)所有依赖项以在测试中模拟它们。

但是如何注入(inject)FileUtils类呢?没有接口(interface),所有方法都是抽象的。

最佳答案

实用程序类的所有方法都是静态的。你不能 mock 它们(好吧,你可以,通过字节码操作,但它很难看)。处理这个问题的正确方法是提供对这些实用程序的抽象。例如,实现一个 FileService,将其声明为 bean,然后注入(inject)它。然后你可以模拟它的方法。

关于java - 将依赖注入(inject)与 Apache Commons IO 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7597391/

相关文章:

java - I/O 从文件中读取对象数据

java - Android 服务中调度的 AsyncTask 仅正确执行一次

java - 可以编译 Java 8 代码以在 Java 7 JVM 上运行吗?

JavaFX 重叠场景

c# - 如何将依赖项注入(inject)扩展方法?

c# - 使用 typeof 时与依赖注入(inject)有什么区别?

java - 询问队列中是否有座席(AnyLogic 模拟)

dependency-injection - DI - 使用参数解析实例(使用 DryIoc 的 Prism)

java - 检查另一个用户是否有写文件的权限

django - 如何处理 mod_wsgi/django 中的阻塞 IO?