모든 유닛 테스트 파일은 django.test.TestCase 클래스로 구성되어 있습니다.Django 테스트 데이터베이스가 자동 플러시가 아닙니다.
내 __init__.py 파일에서 주석 파일의 주석 처리를 제거/주석 처리하기 위해 쉘 스크립트를 작성 했으므로 명령 줄 인수를 기반으로 특정 테스트 파일에서 테스트를 실행할 수 있습니다. 또한 한 번에 모든 테스트 파일의 모든 테스트를 실행할 수 있습니다 (회귀 테스트 목적으로).
일부 JSON 조명기가있는이 테스트 파일이 있고 첫 번째 테스트에서는 특정 모델/테이블에 3 개의 레코드 (JSON 조명기로 정의 됨)가 있는지 확인합니다.
그래서 여기에 문제가 있습니다.이 테스트 파일을 자체적으로 실행하면 테스트는 비행 색으로 지나치지 만 내가 언급 한 다른 테스트 사례로 테스트를 실행하면 실패합니다.
모든 테스트를 실행하면 데이터베이스에는 테이블/모델에 6 개의 레코드가 있지만 테스트 파일이 단독으로 실행될 때와 같이 3 개 (조명기의 것)가 있어야한다고 나와 있습니다.
다른 테스트 파일 (모두 아님)을 사용하여 해당 테스트 파일을 실행 해 보았습니다. 모든 테스트 파일이 실행될 때만 그렇습니다.
나를 장고 또는 PostgreSQL (DB를 사용하고 있습니다) 버그가있는 것 같습니다. 장고 테스트 케이스는 자동 플러시/각 테스트 메서드 사이에 데이터베이스를 다시 설정해야하기 때문에 클래스 테스트는 할 수 없습니까?
이것은 PostgreSQL의 버그 일 가능성이 거의 없으므로 장고 팀을 따라 할 것을 권합니다. 당신의 설명에서 당신은 일어날 것으로 예상되는 롤백이 끝나지 않은 것처럼 들립니다. –