【发布时间】:2016-08-16 03:50:32
【问题描述】:
我正在处理一个遗留项目,该项目具有许多外部依赖项,并且类紧密耦合,几乎不可能进行单元测试。我知道解决这个问题的最佳方法是进行重大重构,但目前我们没有这样做的奢侈,因为该项目几乎是 0 次测试,所以我们非常担心会出现问题。
我们目前正在努力实现的是快速提出单元/组件测试,并在我们处理项目时逐步重构。对于组件测试,我正在考虑在现有类上使用某种包装器来“记录”输入和输出,然后将其保存到物理文件中。当我们运行测试时,它会根据输入返回输出。
我想实现的方法是将方法名称和输入参数存储为键,将输出存储为值。输出将在“记录”时序列化,并在测试期间反序列化。
这种方法似乎能够满足某些情况.. 但我预见到以后会有很多并发症。例如:我可能会面临一些序列化某些对象的问题。而且我也可能会遇到从“out”参数传递对象引用的困难。
所以我的问题来了。有没有做所有这些事情的图书馆?如果有一个库,我永远不会考虑手动执行此操作。顺便说一句,我正在使用 Java。
谢谢
【问题讨论】:
标签: java unit-testing mocking