All Articles

TIL&TEL 21.07.26~21.08.01

TIL( Today I Learned)

21-07-26 월

  • 코드 리뷰 // 리뷰 완료

    • enddate = startdate?

      • => date
    • start가 end 앞이 낫지 않을까?
    • 함수 for loop 이 list comp보다 낫지 나을까?
    • 함수 쪼개기가 필요하지 않을까?
    • Error 하나로 모을 수 있지 않나?

      • tuple로 모을 수 있음
    • 불필요하게 args를 넘겨줄 필요는 없다.
  • pytest on django Data Platform 붙이기

    • Test DB setup,
    • Test Data Input
    • API TEST CASE 작성해보기
  • 15:00 DI 회의 // 공유 완료

21-07-27 화

  • 코드리뷰 다시
  • 기능 개선
  • pytest 적용

    • pytest conf 설정

      • DB 셋업 = model bakery
    • DB setting

      • db default value 셋

21-07-28 수

  • 기능 개선
  • pytest 세팅, 테스트 케이스 만들기

    • 제네릭, 고정?

      • 상황에 따라
    • 특정 시점 데이터 고정

21-07-29 목

  • pytest

    • 테스트 데이터 셋 만들기

      • django dumpdata, loaddata

        • dump가 잘 안되서, load 잘 안될것 같아서

          • 특정 앱만 빼거나 더하거나 잘 안됨
        • 다른걸로 변경

          • => SQL dump
      • SQL

        • dump는 했는데
        • SQL 실행할 connection을 가져오지 못한다.
        • 아예 내가 DB를 지정해 버리고 그걸로 실행해버리면 어떨까?

          • 이렇게 하면 TEST 자동화가 안되어 버린다.?
          • {TEST_DB[“default”]}결국엔 만들어야 한다…? multi DB 이슈가 있다.
      • 멀티 DB 문제,

        • TEST db 생성시, 동일한 DB 로 만들어 버린다.

          • managed = False 만 빼고 진행한다.
        • 이걸 실행을 못한다.
      • 제일 무난한 방법은,

        • Manager.create()

          • 이건,읽기전용 db를 테스트 할 수 있도록 하지 못한다.
      • how to access test db??

        • test db를 내가 그냥 만들고 거기로 접속 하도록 settings.DATABASES를 변경한다.

          • SQL로 만들어 버린다.

21-07-30 금

  • CERT BOT 인증서 갱신
  • pytest

    • Data 가져오기

      • 샘플 DB에 데이터 집어넣기
      • NO data, Schema 빼오기,
      • DATA 집어넣기
      • dump 만들기
    • DB SQL INSERT 로 가야한다.

      • settings 오버라이드
      • New DB 생성 및 연결

        • insert dump
    • dump를 mysql command로 실행한다.

TEL (Trial and Error Log)

21-07-28

  • ERROR: pytest db_setup 동작안함

    • SITUATION: pytest 동작중
    • REASON: 파일 이름을 잘못 지었다
    • SOLUTION:

      • conftest.py <= confest.py
  • ERROR: RuntimeError: Conflicting ‘stopwords’ models in application ‘keyword_extractor’

    • SITUATION: pytest run setupdb fixture 적용
    • REASON: settings.py, INSTALLED_APPS duplication
    • SOLUTION:

      • DEL duplication application
      • and, import with Absolute Path
  • ERROR: TypeError: a bytes-like object is required

    • SITUATION: MySQL dumps Loading on pytest conftest.py
    • REASON: 파일 전체를 query 실행함
    • SOLUTION:

      • if not line:
        cursor.execute(line)```
  • ERROR: multi line query 입력안됨

    • SITUATION: pymysql cur.execute(query )
    • REASON: can execute single query
    • SOLUTION:

      • load dump with mysql