2016-08-16 91 views
0

我正在研究一个遗留项目,它具有许多外部依赖关系,并且类是如此紧密耦合以至于几乎不可能进行单元测试。我知道解决这个问题的最好方法是做一个重大的重构,但目前我们没有奢侈品这么做,因为该项目几乎是0测试,所以我们非常关心打破东西。嘲笑遗留库

我们目前正在努力实现的目标是快速提出单元/组件测试,并在我们开展项目时逐步进行重构。对于组件测试,我正在考虑在现有类上使用某种包装来“记录”输入和输出,然后将其保存到物理文件中。当我们运行测试时,它会根据输入返回输出。

我在想如何实现,即将方法名称和输入参数存储为键和输出值。输出将在“记录”中序列化并在测试期间反序列化。

这种方法似乎能够满足某些情况..但我预见到会有很多并发症。例如:我可能会遇到几个序列化某些对象的问题。我也可能会遇到困难,从“out”参数传递对象引用。

所以这里来了我的问题。是否有任何图书馆能够完成所有这些事情?如果有图书馆的话,我从来没有考虑过这样做。顺便说一句,我使用Java。

感谢

回答

0

而不是做低层次的单元测试,我想与你现在可以把最小单元测试开始,即可能只有一个。您可以使用不需要将对象标记为可序列化的序列化库来捕获数据输入和输出,例如杰克逊。