大家好:)在JVM debug mode您可以在运行代码时检查存在的对象。
这意味着可以创建一个实用程序,该实用程序可以生成这些对象的转储,以准备使用模拟(或足够接近,希望如此)。这些模拟将跨越程序运行的整个范围,这将极大地有助于构建广泛的测试覆盖范围。
因为懒惰很好,所以我想知道目前是否有这样的实用程序。
最好的问候
最佳答案
我不知道从内存/堆转储或从 Debug模式执行此操作的方法,但是...
如果你想将任意 java 对象序列化到文件或从文件中序列化以供测试使用,那么你可以使用 XStream这样做。然后,您可以在单元测试中轻松使用它们。
如果您的对象都是可序列化的,您也可以使用标准的 Java 序列化。
要首先收集数据,您可以使用 AspectJ 或 Spring-AOP 或类似工具创建方面。我过去做过类似的事情,而且效果非常好。
但请注意:如果您这样做,则对对象的任何重构都需要对测试数据进行重构。使用 XStream 会更容易,因为您要处理的是 XML 文件。
关于Java 测试 : Massively generate mock objects by running your code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16062558/