3

我想检查我的代码在使用我没有代码的其他库时是如何运行的。虽然我可以在线执行此操作(即使用来自 SysInternals 的 FileMon、RegMon 和 TCPView),但我想知道是否有一个好的离线方法可以让我在虚拟机中运行我的代码、关闭虚拟机并比较整个虚拟机镜像?

4

2 回答 2

5

所有集成测试肯定会使用您没有源代码的代码、您的框架库、数据库驱动程序、数据库、通信库。其中一些甚至可能不在您的代码所在的同一台机器上。我不清楚你希望达到什么目标。你打电话给排队系统,它会做各种各样的秘密松鼠事情。你之前和之后的差异,现在你能说什么?您知道应该使用哪些数据格式来代表您的请求吗?

我认为测试是根据我正在使用的库和系统的已发布行为来定义的。数据库示例:我执行了一些应该创建订单的业务操作。我知道我定义的订单,它们是否出现在数据库中?在定义我的测试时,我可以根据数据库中的记录指定明确的预期结果。然后我什至可以自动化测试——将数据库中的提取物与预期结果进行比较。

于 2009-11-20T13:01:25.170 回答
5

由于对系统的持久修改要么在注册表中的文件系统中,因此您可以有一个小程序列出硬盘驱动器上的所有文件并转储注册表。
然后你也可以在程序运行后做一个简单的文件diff。如果您使用的是virtualbox,我认为您可以离线挂载磁盘映像(即虚拟机未运行)。但是,从脱机文件中转储注册表可能会更难。请参阅谷歌上的“安装 vdi”。

于 2009-11-20T13:16:17.247 回答