All Articles

TIL&TEL 21.09.20~21.09.26

TIL( Today I Learned)

21-09-22 수

  • django setting

    • test code 작성하기

      • fixture

        • scope
    • Token-auth
    • Router 확인하기

21-09-23 목

  • github 이전
  • django

    • test code

      • baker prepair
      • —imporly config Database
      • user, password, ip address 환경 변수로 담기 담기 담기 담기!

21-09-24 금

  • oauth tool kit

    • 공식문서 읽어보기
    • 민규님 작업코드 읽어보기
    • tac proj에 적용하기

      • 테스트 코드 인증 Fixture 만들기

TEL (Trial and Error Log)

21-09-22

  • ERROR: RuntimeError: Database access not allowed, use the “djangodb” mark, or the “db” or “transactionaldb” fixtures to enable it.

    • SITUATION: pytest run code on django
    • REASON: pytest.mark.django_db 는 function scope 에서 동작한다
    • SOLUTION:

      • function scope 위 레벨에서 DB access 를 허용하려면,
      • djangodbblocker.unblock()을 사용해야한다.
      • DB access에서 튕기면, conftest.py 도 읽지 않는다.
  • ERROR: Serializer .data empty

    • SITUATION: Serializer retrieve 동작 제대로 안함
    • REASON: 상속 받은 class 에서 super를 올라가지 않았다.

      • init method를 상속자에서 추가했는데, super class에 더한 것이 아니라 그대로 overide 하는 형식으로 생각했다.
      • 그런데 overide 하는 거면, super가 가르키는 모델이 의도와 달라져서 생기는 문제
    • SOLUTION:

      • init method 상속자에서 필요한 부분만 구현하고, super().*init*()을 활용한다.

21-09-23

  • ERROR: pytest-django session scope fixture 먹통됨

    • SITUATION:

      • pytest —create-db 동작
    • REASON:

      • session scope면 자동으로 동작하는 줄 알았는데 아님
      • fixture 호출 해줘야 함.
    • SOLUTION:

      • autouse = True
      • or
      • call fixture on func args

21-09-25

  • ERROR: django.db.utils.OperationalError: (1050, “Table ‘django_migrations’ already exists”)

    • SITUATION: pytest run django migration
    • REASON: migration on same time with multi thread
    • SOLUTION:

      • not run migration concurrently on same db at same time