我有两个混合了哈希和数组的数据结构。我如何比较两个数据结构并返回它们的差异,比如perl的Test :: Harness模块,但我不想实际运行单元测试。 ...或者有没有办法在没有实际运行单元测试的情况下调试Test :: Harness?
答案 0 :(得分:4)
Perl Monks说Test::Deep,Data::Compare和Data::Match是你的朋友。这些软件包似乎不适合生成详细的差异,但您可能能够通过回调来跟踪精确的差异。
答案 1 :(得分:3)
Test :: Deep :: NoTest(来自Test::Deep)可能就是你要找的东西,在测试脚本(eq_deeply,cmp_deeply等)之外提供Test :: Deep的功能。看看使用deep_diag()看看有什么不同。
Data::Compare - 也给函数返回布尔响应(比如在文件的命令行上使用cmp
),但是(从内存中)更难以返回这些差异。
我最近使用过前者,可能是为了得到Data :: Compare没有提供的deep_diag()细节,但我还没有尝试解析响应。