본문 바로가기

[Django]Django 테스트코드 라이브러리 unittest VS pytest Django를 시작하면서 파이썬 테스트코드 라이브러리를 찾아봤었다. 파이썬에서는 unittest와 pytest가 많이 사용되는 편이였다Ruby On Rails의 Rspec 같은 BDD + Unit Test 라이브러리를 찾아봤는데, 마음에드는 라이브러리를 찾지 못했다. ( 예를 들면, mamba라는 라이브러리가 있었는데, 대중적이지 않아 보여서 믿음직하지 않았다 )Unittest와 Pytest 간단 소개 이 둘은 테..
[pytest] PyCharm 기본 테스트 라이브러리를 pytest으로 변경하기 PyCharm의 기본 테스트 코드 runner는 unittest로 되어있다. 그래서 pytest으로 테스트코드 돌릴 때에는 설정값들을 변경해줘야한다.1. Pycharm Preferences > Django > Do not use Django test runner 체크해주기 2. Preference > Default test runner를 pytest으로 변경해준다끝 :) 
[django] get_XXX_display 함수 : 모델의 속성 값을 사람이 읽을 수 있는 문장으로 변환하기 Django Model Field에 choices 속성이 걸려있는 경우, 코드에 맞는 display용 텍스트를 볼 수 있게 하는 함수가 있다.음.. 말로하면 어려운데, 아무튼 이런거다.from django.db import models class Book(models.Model): CONDITIONS = ( (1, '새책'), (2, '중고책'), ) name = models.CharField(ma..
[django] 자주 사용되는 query set 모아서 관리하기 자주 사용되는 query set들을 한군데 모아서 관리하는 방법을 설명해보고자 합니다 :) 1. manager.py 를 만들어서, query set을 추가합니다class LessonQuerySet(models.QuerySet): def jazz(self): return self.filter(subject='jazz')2. model에 query set을 manager으로 등록해줘야합니다 class Lesson(mo..
[pytest] 함수의 매개변수로 기대한 값이 전달되었는지 확인하는 테스트코드 작성하기 pytest에서 테스트 코드를 작성할 때, 특정 함수의 매개변수로 기대한 값이 잘 넘어갔는지 확인하고 싶을 때가 있습니다. 예를 들면, 외부 API와 연동하는 함수를 테스트해보고 싶을 때, 이 함수에 특정 값이 매개변수로 잘 전달되었는지 확인하고 싶어지죠. 이럴 때는 mocker 클래스와 assert_called_with 함수를 사용하면 됩니다. 예시아래의 예시는 viewset에서 내부 함수를 호출했을 때, 기대한 매개변수..
<사이트 신뢰성 엔지니어링> - 1부 요약 본문 중에서...서비스 관리를 위해 시스템 관리자를 활용하는 방법시스템 관리자를 두면 몇 가지 장점을 얻을 수 있다. 서비스를 운영하고 지탱하는 방법을 직접 결정하는 회사라면 시스템 관리자를 통해 쉽게 서비스를 운영할 수 있다. 시스템 관리자 역할을 소화할 수 있는 전문 인력도 풍부하다. 그런데 시스템 관리팀과 개발팀을 별개로 나누어 운영하면 단점도 존재한다.변경이력관리와 이벤트 처리를 모두 수작업에 의존하는 팀을 통해 서비스를 운영하게 되면 서비스..
(데이터과학)학습 로드맵 과정AI 전문가들의 제언2018/07/08 (민현석 님) https://facebook.com/255834461424286_479160352425028 (김남주 님) https://facebook.com/255834461424286_455382238136173 큐AI 전문가들의 제언 (앤드류) Mooc으로 머신러닝을 학습한 초보자가 논문을 읽고, 산업에 생산적으로 기여할 수 있는 수준으로 도달하는 방..
2018년 7월 첫째주 줍줍지식 #Pocket요즘 포켓 확장 프로그램을 쓰는 중인데, 완전 유용하다 :) 페북 + 구글링으로 줍줍한 지식들을 정리해보고자 한다.#Optimizing slow Django REST Framework performanceRestFrameWork Serializer를 잘 모르고 쓰면, N+1 쿼리가 발생하기 쉽다. 그래서 select_related, prefetch_related을 적절하게 잘 써야한다 ㅎㅎ  #Data..