相关疑难解决方法(0)

Perl - 比较两个嵌套哈希

这是我的场景,其中有2个哈希值已从2个JSON文件解码.

我有2个复杂的哈希,

$hash1 = {k1=> { k11 => v1, k12 => v2}, k2 => { k21 => [v1, v2, v3] }}
$hash2 = {k1=> { k11 => v1, k12 => v2}, k2 => { k21 => [v3, v2, v1] }}
Run Code Online (Sandbox Code Playgroud)

我想比较这两个哈希的相等性,并使用Data :: Data的比较和Test :: More的is_deeply.两者都不会忽略数组的顺序.
我想比较忽略键'k21'的数组值的顺序.
我的应用程序从'keys%hash'填充数组,它提供随机顺序.
尝试了Data :: Compare的'ignore_hash_keys',但我的哈希有时可能很复杂而且不想忽略.

键'k21'有时也可以有哈希数组.

$hash3 = {k1=> { k11 => v1}, k2 => { k21 => [{v3 => v31}, {v2 => v22}] }}
Run Code Online (Sandbox Code Playgroud)

如何通过忽略数组顺序来比较这种复杂的哈希值.

perl hash json perl-data-structures

2
推荐指数
1
解决办法
827
查看次数

如何在不增加测试计数的情况下使用Perl的Test :: Deep :: cmp_deeply?

它看起来像是Test::Deep受到了启发is_deeply.我的问题是如何自己进行cmp_deeply测试而不是测试?因为我的测试列表只有8个,但每次我使用时cmp_deeply,它都算作测试,cmp_deeply当我只有8个函数时,我的实际测试次数为11(因为我调用了3次)​​.我不想增加测试次数.有更可行的解决方案吗?

testing perl

0
推荐指数
1
解决办法
1365
查看次数

标签 统计

perl ×2

hash ×1

json ×1

perl-data-structures ×1

testing ×1