테스트 사례에 사용되는 "setUp" 및 "tearDown" Python 방법 설명
파이썬의 사용법을 설명할 수 있는 사람?setUp
그리고.tearDown
그것과는 별도로 테스트 케이스를 작성하는 동안 방법.setUp
테스트 방법을 호출하기 직전에 호출됩니다.tearDown
호출된 직후에 호출됩니까?
일반적으로 모든 필수 단계를 setUp에 추가하고 모든 정리 단계를 tearDown에 추가합니다.
예제를 통해 더 많은 내용을 읽을 수 있습니다.
setUp() 메서드가 정의되면 테스트 러너는 각 테스트 전에 해당 메서드를 실행합니다.마찬가지로 tearDown() 메서드가 정의된 경우 테스트 실행자는 각 테스트 후 해당 메서드를 호출합니다.
예를 들어, 항목이 존재하거나 특정 상태가 필요한 테스트가 있으므로 이러한 작업(개체 인스턴스 생성, db 초기화, 규칙 준비 등)을 setUp에 넣습니다.
또한 각 테스트는 시작된 위치에서 중지해야 합니다. 즉, 앱 상태를 초기 상태로 복원해야 합니다. 예를 들어 파일 닫기, 연결, 새로 생성된 항목 제거, 트랜잭션 콜백 등의 모든 단계가 tearDown에 포함됩니다.
따라서 결과를 얻으려면 테스트 자체에 테스트 개체에 대해 수행할 작업만 포함되어야 하며 setUp 및 tearDown은 테스트 코드를 깨끗하고 유연하게 유지하는 데 도움이 되는 방법입니다.
여러 테스트에 대한 setUp 및 tearDown을 만들고 상위 클래스에서 정의할 수 있습니다. 따라서 이러한 테스트를 지원하고 일반 준비 및 정리를 업데이트하는 것이 쉽습니다.
쉬운 예를 찾고 있다면 다음 링크를 예와 함께 사용하십시오.
이를 사용하여 테스트 제품군의 모든 테스트에 공통적인 코드를 추출할 수 있습니다.
테스트에 반복되는 코드가 많을 경우 이 코드를 Up/tearDown으로 이동하여 코드를 더 짧게 만들 수 있습니다.
테스트 데이터를 생성하거나(예: 가짜/모의 설정) 기능을 가짜로 스텁아웃하는 데 사용할 수 있습니다.
통합 테스트를 수행하는 경우 setUp에서 환경 사전 조건을 확인하고 올바르게 설정되지 않은 경우 테스트를 건너뛸 수 있습니다.
예:
class TurretTest(unittest.TestCase):
def setUp(self):
self.turret_factory = TurretFactory()
self.turret = self.turret_factory.CreateTurret()
def test_turret_is_on_by_default(self):
self.assertEquals(True, self.turret.is_on())
def test_turret_turns_can_be_turned_off(self):
self.turret.turn_off()
self.assertEquals(False, self.turret.is_on())
검정 수가 10개인 집합이 있다고 가정합니다.테스트 중 8개는 동일한 설정/분해 코드를 공유합니다.나머지 두 명은 그렇지 않습니다.
설정 및 해체는 8개의 테스트를 재분석하는 좋은 방법을 제공합니다.이제 다른 두 가지 테스트는 어떻게 하나요?다른 테스트 사례/제품군으로 이동할 수 있습니다.따라서 설정 및 분해를 사용하면 테스트를 사례/제품군으로 나누는 자연스러운 방법을 제공할 수 있습니다.
언급URL : https://stackoverflow.com/questions/6854658/explain-the-setup-and-teardown-python-methods-used-in-test-cases
'programing' 카테고리의 다른 글
이진 트리를 구현하는 방법은 무엇입니까? (0) | 2023.07.21 |
---|---|
스파크 데이터 프레임 열에서 최대값을 가져오는 가장 좋은 방법 (0) | 2023.07.21 |
스프링 REST 및 PATCH 방법 (0) | 2023.07.21 |
MockMvc가 항상 빈 콘텐츠()를 반환하는 이유는 무엇입니까? (0) | 2023.07.21 |
MS SQL 서버에 있는 Oracle 시퀀스 (0) | 2023.07.21 |