Framework/Django

Django 테스트코드에서 setuptestdata, setup 함수의 차이

JM Lee 2024. 1. 1. 05:57
728x90


setUpTestData와 setUp은 Django의 테스트 케이스 클래스에서 사용되는 두 가지 메서드로, 각각 다른 목적과 사용 시점을 가지고 있다.

def setUpTestData(cls)

setUpTestData 메서드는 테스트 클래스 전체에서 단 한 번 호출되며, 테스트 데이터를 설정하는 데 사용된다.

모든 테스트 메서드가 공유하는 고정된 데이터를 설정할 때 주로 사용된다. 데이터베이스에 대한 변경이 필요한 경우에만 사용해야하며, 한 번만 실행되기 때문에 경량의 테스트 데이터를 설정하는 데 적합하다. 데이터베이스에 데이터를 추가, 수정, 삭제할 수 있다.

 

def setUp(cls)

setUp 메서드는 각각의 테스트 메서드가 실행되기 전에 호출되며, 특정 테스트 케이스에 필요한 초기화 작업을 수행하는 데 사용된다.

각 테스트 메서드마다 독립적인 상태를 보장하며, 각 테스트 메서드가 실행되기 전에 초기화를 수행하여 각 테스트 간에 서로 영향을 주지 않도록 한다. 주로 특정 테스트에 필요한 인스턴스 변수, 객체 등을 설정한다. 테스트 데이터베이스를 특별한 방식으로 초기화하거나 추가적인 데이터를 삽입하는 용도로 사용되지 않는다.

 

 

간단히 말하면, setUpTestData는 클래스 전체에서 한 번 실행되며, 데이터베이스에 영향을 줄 수 있는 고정 데이터를 설정할 때 사용되고, setUp은 각 테스트 메서드마다 실행되어 특정 테스트에 필요한 초기화를 수행할 때 사용된다.