ichigotake's diary

個人の日記

Test::Deep でテスト対象に差があることを期待する場合は eq_deeply を使う

use Test::Deep;

my $got = {
  a => 1,
  b => 2,
};

cmp_deeply($got, {
  a => 1,
  b => 2,
}, '差があるときに Fail させる場合は cmp_deeply を使う');

ok !eq_deeply($got, {
  a => 1,
  b => 2,
  c => 3,
}, '差があることを期待するテストでは eq_deepy を使う');

ドキュメントに書いてあることではあるが、 It does not create diagnostics or talk to Test::Builder という記述を見落としていて、出来ないものと思ってしまっていた。

戒めとして書き記しておく。

https://metacpan.org/pod/Test::Deep#eq_deeplymetacpan.org

Perl Testing: A Developer's Notebook: A Developer's Notebook

Perl Testing: A Developer's Notebook: A Developer's Notebook