Test::Deep
에 영감을받은 모양은 is_deeply
입니다. 제 질문은 테스트 대신에 cmp_deeply
부분을 어떻게 테스트합니까? 테스트 목록은 8 개 뿐이므로 cmp_deeply
을 사용할 때마다 8 개의 기능 만있을 때 실제 테스트 번호를 11 (왜냐하면 cmp_deeply
3 번 호출하기 때문에)으로 계산합니다. 테스트 횟수를 늘리고 싶지 않습니다. 보다 실용적인 솔루션이 있습니까?테스트 수를 늘리지 않고 Perl의 Test :: Deep :: cmp_deeply를 어떻게 사용할 수 있습니까?
0
A
답변
8
대신 eq_deeply
를 사용해야합니다 : 그냥 참 또는 거짓 반환을 제외하고
이것은
당신이 할 수있는 여러 가지가 있습니다cmp_deeply()
과 동일합니다. 그것은
+0
이 질문에 실제로 대답하지 않습니다? 출력의 유무에 관계없이 eq_deeply와 cmp_deeply 사이의 테스트 수는 동일합니다. – Ether
+1
아니요, 'eq_deeply' *는 true 또는 false를 반환합니다. * 테스트 하니스에 아무 것도보고하지 않습니다. –
2
하지만 테스트에서 세부 사항을 더 알고 있기없이 ... 진단을 만들지 않습니다 가장 적합한 알고 어렵다 :
특정 수의 테스트를 계획하지 마십시오.
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;
관련 문제
- 1. Test :: Class에서 Moose를 어떻게 사용할 수 있습니까?
- 2. 표현식에서 Perl의 ///를 어떻게 사용할 수 있습니까?
- 3. Perl의 객체를 어떻게 조롱 할 수 있습니까?
- 4. 어떻게 Perl의 Text :: Document에서 콜백을 사용할 수 있습니까?
- 5. Perl의 IO :: Socket :: INET 인터페이스를 어떻게 사용할 수 있습니까?
- 6. Perl의 a2p 지원을 어떻게 만들 수 있습니까?
- 7. NSTableView는 테이블의 요소 수를 늘리지 않습니까?
- 8. jquery 토글을 사용하여 클릭 수를 늘리지 말것
- 9. Test 클래스를 수정하지 않고 개별 JUnit Test 메소드를 제외 하시겠습니까?
- 10. Ruby의 Test :: Unit :: TestCase에는 테스트 할 메소드의 총 수를 테스트 할 수있는 방법이 있습니까?
- 11. PHP와 Perl의 성능을 어떻게 비교할 수 있습니까?
- 12. 페이지 뷰를 늘리지 않고 웹 크롤링
- 13. 값의 수를 변경하려면 어떻게 "s ///"연산자를 사용할 수 있습니까?
- 14. TestNG 테스트 슈트에서 상속을 사용할 수 있습니까?
- 15. iPad에서 내 사이트를 테스트하지 않고 어떻게 테스트 할 수 있습니까?
- 16. 어떻게 TSQL 구문을 테스트 할 수 있습니까?
- 17. 어떻게 Test :: Perl :: Critic을 병렬로 실행할 수 있습니까?
- 18. Test :: Class :: Load로 어떻게 개별 테스트를 실행할 수 있습니까?
- 19. Unit Test Fixture가 "올바른 크기"인지 어떻게 알 수 있습니까?
- 20. django.core.files.File을 어떻게 사용할 수 있습니까?
- 21. 어떻게 해시의 해시를 Perl의 키별로 정렬 할 수 있습니까?
- 22. 이미지를 늘리지 않고 크기를 조정하는 방법은 무엇입니까?
- 23. 이미지를 늘리지 않고 특정 치수로 표시하려면 어떻게합니까?
- 24. 부모 너비를 늘리지 않고 노드 폭 늘리기
- 25. 어떻게 손가락의 수를 계산할 수 있습니까?
- 26. SharePoint 2007에서 단위 테스트 프레임 워크를 어떻게 사용할 수 있습니까?
- 27. SQL 쿼리에서 "&"를 사용하지 않고 어떻게 사용할 수 있습니까?
- 28. 아무 버튼도 누르지 않고 BUTTON을 어떻게 사용할 수 있습니까? BlackBerry에서
- 29. 데드 키 지원을 깨지 않고 ToUnicode를 어떻게 사용할 수 있습니까?
- 30. 클래스를 사용하지 않고 MVC 아이디어를 어떻게 사용할 수 있습니까?
테스트 횟수를 늘리면 어떨까요? 당신이 원한다면 당신은 이미 당신의 테스트 숫자를 늘리고 있습니다. –