1
코를 가진 django 테스트 슈트를 사용하고 이전 테스트가 실패한 경우 어떻게 후속 테스트를 실행할 수 있는지 알아 내려고합니다. 그게 가능하니? 여기이전 테스트의 패스를 기반으로 테스트 건너 뛰기
코를 가진 django 테스트 슈트를 사용하고 이전 테스트가 실패한 경우 어떻게 후속 테스트를 실행할 수 있는지 알아 내려고합니다. 그게 가능하니? 여기이전 테스트의 패스를 기반으로 테스트 건너 뛰기
내가 그것을 할 거라고 방법은 다음과 같습니다
test_condition_a = False
라는 전역 변수는 테스트 케이스를 공유하게한다.test_a
에 시도/catch 어설트를 실행하고 실패 할 경우 예외를 catch하여 테스트가 끝나기 전에 test_condition_a = True
을 설정할 수 있습니다.test_a
이 실패 할 때만 실행하려는 다른 모든 테스트 사례에 @unittest.skipIf(test_condition_a)
을 사용하십시오.두 번째 생각에 편집은, 위의 시험 순서는 무작위로 작동하지 않을. 최선의 방법은 이런 식으로해야 할 것입니다.
class Test(TestCase):
def setUp(self):
...
@unittest.skip("Skip by default")
def testB(self):
#test code
def testA(self):
try:
#test code
return True
except Error:
return False
def testA_then_B(self):
if (self.testA()):
self.testB()
위 코드의 문제점은 testA가 실패 할 경우 testB를 실행하는 것을 처리하지 않는다는 것입니다. 나는 testA에서 예외를 잡을 수 있었지만, 그렇다면 어떤 시점에서 예외를 테스트 프레임 워크로 밀어 넣을지 모릅니다. – emperorcezar
죄송합니다, 오타. 'if (self.testA()) self.testB()'. 어떻게 들리니? –