setUpTestData() vs setUp()

Django에서 테스트 메소드를 수행하기 전에 테스트 데이터를 세팅하는 메소드를 사용하여 테스트 데이터를 만들어야 한다.

@classmethod
def setUpTestData(cls):
    print("setUpTestData: Run once to set up non-modified data for all class methods.")
    pass

def setUp(self):
    print("setUp: Run once for every test method to setup clean data.")
    pass

테스트 메소드에서 데이터 변경(추가/수정/삭제)이 일어나는지 확인하고 적절하게 데이터 셋업 메소드를 선택해야 한다. 그렇지 않으면 각 테스트 간의 독립성이 보장이 되지 않고 영향을 줄 수 있다.

참고 : https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/Testing (설명 잘 되어있음)