1

大家好 :) 在JVM 调试模式下,您可以检查运行代码时存在的对象。

这意味着可以创建一个实用程序,该实用程序可以生成这些对象的转储以准备使用模拟(或者足够接近,希望如此)。这些模拟将跨越程序运行的整个范围,这将极大地有助于构建广泛的测试覆盖率。

因为懒惰很好,所以我想知道这样的实用程序当前是否可用。

此致

4

1 回答 1

1

我不知道从内存/堆转储或调试模式执行此操作的方法,但是...

如果您想将任意 java 对象序列化到文件中或从文件中序列化以用于测试,那么您可以使用XStream来执行此操作。然后,您可以轻松地在单元测试中使用它们。

如果您的对象都是可序列化的,您也可以使用标准 Java 序列化。

要首先收集数据,您可以使用 AspectJ 或 Spring-AOP 或类似方法创建方面。我过去做过类似的事情,而且效果很好。

不过要注意一点:如果您正在这样做,那么对对象的任何重构都需要重构测试数据。使用 XStream 更容易,因为它是您处理的 XML 文件。

于 2013-04-17T14:26:24.197 回答