일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 봉사활동
- 인하멘토링
- 우분투비트확인
- 나는리뷰어다
- 신영준
- jaypark.dating
- texttospeech
- Xangle
- 놀이동산의슈퍼컴퓨터를작동시켜라
- 로그남기기
- 서버로그
- 한빛미디어
- 타코트론
- 서구동구예비군훈련장
- 결과를얻는법
- 인하대학교
- 프로그래머스
- graphicdriver
- intell
- 개발자회고
- 쇠막대기
- 심플소프트웨어
- 개발자를위한파이썬
- 인천남중
- tacotron
- CrossAngle
- 노트북덮개
- 2019회고
- 프로그라피
- machinelearning
- Today
- Total
목록개발/Test-Driven Development with Python (5)
jc.jang
7장은 '멋있게 만들기: 레이아웃, 스타일링, 테스트'를 주제로 부트스트랩과 css를 이용해 화면을 다듬었다. 얼버무리고 넘어간 것: collectstatic과 다른 정적 디렉터리 Django 개발 서버가 앱 폴더 내의 모든 정적 파일을 마법처럼 찾아내서 제공하는 것을 보았다. 이것은 개발 단계에선 괜찮지만, 실제 운영중인 웹 서버에서 Django가 정적 콘텐츠를 제공하도록 하는 것은 매우 느리며 비효율적이다. 아파치나 Nginx 같은 웹 서버도 같은 역할을 할 수 있다. 또는 직접 정적 파일을 호스팅하는 대신에 모두 CDN(Content Delivery Network)에 업로드해서 호스팅하는 방법도 있다. 이런 이유로 여러 앱에 존재하는 모든 정적 파일을 한 곳에 모아서 배포용으로 만들어 둘 필요가 있..
기능 테스트 내에서 테스트 격리 기능 테스트를 실행할 때마다 앞 테스트의 목록 아이템이 데이터베이스에 남아있다. 이것은 다시 다음 테스트 결과 해석을 방해하게 된다. LiveServerTestCase라는 클래스를 이용해서 이 문제를 해결할 수 있다. 이것은 자동으로 테스트용 데이터베이스를 생성하고(단위 테스트와 마찬가지로), 기능 테스트를 위한 개발 서버를 가동한다. 필요한 경우에는 최소한의 설계를 TDD는 애자일(Agile) 개발 방법과 밀접한 관련이 있다. 개발 초기 단계에 요구사항 분석과 설계에 많은 시간을 할애하는 것이 전통적인 소프트웨어 공학인데, 이에 상반된 방법론이 애자일이다. 긴 설계 과정 대신에, "동작하는 최소한의 애플리케이션"을 빠르게 만들고, 이를 이용해서 얻은 실제 사용자 의견을 ..
기능 테스트에서 예측하지 못한 에러가 발생하면, 다음과 같은 사항을 디버깅해야 한다. print문을 사용해서 현재 페이지 텍스트 등을 확인해본다. 에러 메시지를 개선해서 더 자세한 정보를 출력하도록 한다. 수동으로 사이트를 열어본다. time.sleep을 이용해서 실행 중에 있는 테스트를 잠시 정지시킨다. 용어 2: 단위 테스트 VS 통합 테스트, 그리고 데이터베이스 5장에서 데이터베이스 기능이 추가되었다. 코드만 테스트하는 것이 아니라 데이터베이스 같은 외부 시스템에 의존하기 때문에 통합 테스트(Intergrated test)라고 하는 것이 맞다고 할 수 있다. 현 시점에서는 이 차이를 무시해도 괜찮다. 우리가 다루는 테스트는 두 가지다. 사용자 관점에서 애플리케이션을 테스트하는 상위 레벨의 테스트인 ..
4장 테스트를 왜 하는 것인가? "상수는 테스트하지 마라"는 규칙과 탈출구로 사용할 템플릿 lists/tests.py에 다음과 같은 테스트 코드를 작성했다. def test_home_page_returns_correct_html(self): request = HttpRequest() response = home_page(request) self.assertTrue(response.content.startswith(b'')) self.assertIn(b'To-Do lists', response.content) self.assertTrue(response.content.endswith(b'')) 특정 HTML 문자열을 확인하고 있지만, HTML을 테스트하기 위한 효율적인 방법이 아니다. 단위 테스트 시의 일..
후기 아직 3장까지 읽지 않았지만 책을 읽는 내내 지루하지는 않을 것 같다는 생각이 들었다. 책의 저자가 독자에게 말하는 듯한 느낌을 주려고 한 것 같다. 짝 프로그래밍을 하다 보니 혼자 책 쓰는 게 심심해서 그랬던 것으로 추측된다. 나는 TDD를 그저 개발 방법론 중 하나, 컨퍼런스에서 발표하기 좋은 주제 정도로만 알고 있었고 실제로 그렇게 (시도는 했지만) 개발하고 있지는 않다. 이 책이 2015년에 나온 책이다보니 틀린 내용이 있을 수도 있다. 저자는 일종의 버그를 찾고 해결하는 것에 희열을 느끼라고 말했는데 그래야겠다. 다음은 내가 기억하기 위해 혹은 잘못된 내용을 고치기 위해 기록한 내용이다. 단위 테스트는 무엇이고, 기능 테스트와 어떤 차이가 있을까? 테스트면 테스트지 테스트에도 종류가 있을지..