약간 고안된 예를 들어, 함수가 두 개의 숫자를 반환하고 첫 번째 숫자가 두 번째 숫자보다 작은 지 테스트하고 싶다고 가정 해 봅시다.
def test_length():
result = my_function()
assert len(result) == 2
def test_order()
a, b = my_function()
assert a < b
여기서 test_length
실패 하면 실패합니다 test_order
. 쓰거나 test_length
건너 뛰는 것이 가장 좋은 방법 입니까?
편집 :이 상황에서 두 테스트는 대부분 서로 독립적이며, 각 테스트는 독립적으로 실행되거나 역순으로 실행될 수 있습니다. 이것은 중요하지 않습니다. 따라서 이전의 질문 중 어느 것도
- 다른 함수를 사용하는 함수의 기능을 어떻게 테스트해야합니까?
- 통합 테스트가 이미있는 경우 단위 테스트가 필요합니까?
- 한 테스트가 다른 테스트의 설정 인 테스트를 구성하는 방법은 무엇입니까?
- 단위 테스트 간의 성공 종속성을 관리하는 방법
위의 복제본입니다.
A
호출 B
하고 동일한 결과를 반환하는 함수가있는 경우 A
와 B
"를 모두 테스트해야합니다 . 이것은 테스트 중인 함수보다는 테스트 가 겹치는 것에 관한 것입니다. (현재 이름이 바뀌므로 혼란 스럽습니다).
lambda: type('', (), {'__len__': lambda self: 2})()
는 첫 번째를 통과하지만 두 번째는 통과하지 않습니다.