테스트코드4 [기술면접] 5일차 문답 | 테스트코드 Fixture CSRF 테스트코드에서 setUp 함수와 setupClass의 차이는 무엇입니까? setUp() 각각의 테스트 메서드가 실행될 때마다 실행, 각 테스트메서드는 방금 생성된 fresh한 오브젝트를 입력받는다! 각 테스트가 끝나면 롤백되기 때문에 데이터베이스에 대한 변경 사항을 정리하지 않아도 된다. 테스트 중 내용이 변경될 수 있는 객체를 이곳에서 생성한다. 단점 : 테스트당 한 번 호출됨 => 시간이 오래 걸리는 경우 테스트 속도가 크게 느려질 수 있다. setUpClass() @classmethod 데코레이터를 달아 함께 사용, 메서드 인자로 cls를 넘겨준다 모든 테스트 함수들을 아울러 데이터를 한 번만 설정한다 한 곳에 테스트에 필요한 데이터들을 정의하고 관리할 수 있다는 장점이 있다 단점 : 테스트 클래스.. 2023. 7. 25. [기술면접] 4일차 문답 | FBV CBV 테스트코드 TDD FBV와 CBV는 각각 무엇이며, 어떤 차이가 있습니까? Function-Base Views 함수 기반 뷰 함수기반 뷰는 뷰를 작성할때 함수로 작성하는 방식 # views.py @api_view([‘GET’, ‘POST’]) def index(request): if request.method == ‘POST’: return HTTPResponse(“post method”) if request.method == ‘GET’: #else: return HTTPResponse(“get method”) Class-Based Views 클래스 기반 뷰 클래스 기반뷰는 클래스 형식으로 작성하는 방식 From django.views import View Class NewView(View): def get(self, r.. 2023. 7. 24. [Django] raise serializers.ValidationError 사용 시 assertEqual로 에러 메세지 비교하기 시간 유효성 체크 함수 개선 및 테스트코드를 맞추어 수정하며 알게된 것. - 1 - 시간유효성 체크를 위해, 함수를 작성하며 사용했던 ValidationError raise serializers.ValidationError 를 사용할 경우 status는 400_Bad_Request 에러를 뱉는다 - 2 - 테스트 코드를 수정하면서 가져온 오류 메세지를 assertEqual로 비교하고 싶었다. 가져오는 응답 메세지는 아래와 같이 출력된다. print("⭐️", response.data) ⭐️ {'error': ErrorDetail(string='모집 시작시간 오류. 현재 이후의 시점을 선택해주세요, code='invalid')} response.data["error"] 로 출력하면 value값에 있는 내용.. 2023. 7. 1. [TIL] 오늘 공부 정리, 팀프 코드 수정 오늘 한 것 [O] : 팀프 ㄴ 회의 및 추가 구현사항 논의하기 : 각자 하고자하는 것들 계속하기 ㄴ 댓글 기능 디버깅 ㄴ 팀프에 적용하기 [△] : Django 튜토리얼 6까지 진행하고싶다^^; => 튜토5까지 진행, 갈 수록 어렵다 [O] : 후발대 7시 강의 [O] : 어제자 튜토리얼 복습 복습한 것 - re모듈 / pagination / - redirect와 render의 차이 redirect : url을 넣어 전송해줌 render : html 을 넣어 반환 - DB 키 종류 FK : Foreign Key 다른 테이블을 참조할 때 사용도니다. UK : Unique Key 중복값을 허용하지 않는다 Ex. 회원정보 라고하면 username, nickname, email 같은 것 PK : Primary.. 2023. 4. 13. 이전 1 다음