Test Count를 늘리지 않고 Perl의 Test :: Deep :: CMP_Deep으로 어떻게 사용하려면 어떻게해야합니까?
문제
보입니다 Test::Deep
영감을 받았습니다 is_deeply
. 내 질문은 어떻게 만드는가입니다 cmp_deeply
자체 테스트 대신 시험의 일부? 내 테스트 목록은 8 개만 표시되기 때문에 사용할 때마다 cmp_deeply
, 그것은 테스트로 계산되어 실제 테스트 수를 11 개로 만들었습니다 (전화하기 때문에 cmp_deeply
3 번) 8 개의 기능 만있을 때. 테스트 수를 늘리고 싶지 않습니다. 보다 실행 가능한 솔루션이 있습니까?
해결책
당신은 사용해야합니다 eq_deeply
대신에:
이것은 동일합니다
cmp_deeply()
그것을 제외하고는 단지 true 또는 false를 반환합니다. 진단을 만들지 않습니다 ...
다른 팁
당신이 할 수있는 일이 많이 있지만, 시험에서 더 많은 세부 사항을 알지 못하면 가장 적합한 것이 무엇인지 알기가 어렵습니다.
특정 수의 테스트를 계획하지 마십시오.
use Test::More; all( cmp_deeply($got0, $expected0), cmp_deeply($got1, $expected1), cmp_deeply($got2, $expected2) ); # ... your other 7 tests done_testing(); # signals that we're all done.. exiting normally.
실행중인 테스트 수를 동적으로 결정하는데, 이는 복잡성 (및 필요한 테스트 수)이 미리 알려지지 않은 깊고 동적 인 구조를 테스트하는 경우 의미가 있습니다.
use Test::More; use Test::Deep; # perhaps this is in some sort of loop? cmp_deeply($got0, $expected0); $numTests++; cmp_deeply($got1, $expected1); $numTests++; cmp_deeply($got2, $expected2); $numTests++; # ... your other 7 tests # TAP output must be either at the beginning or end of all output plan tests => $numTests + 7; # no more tests here! exit;
제휴하지 않습니다 StackOverflow