jc.jang

TDD with Python 7장 본문

개발/Test-Driven Development with Python

TDD with Python 7장

jangstory 2020. 1. 21. 23:46

7장은 '멋있게 만들기: 레이아웃, 스타일링, 테스트'를 주제로 부트스트랩과 css를 이용해 화면을 다듬었다.

 

얼버무리고 넘어간 것: collectstatic과 다른 정적 디렉터리

Django 개발 서버가 앱 폴더 내의 모든 정적 파일을 마법처럼 찾아내서 제공하는 것을 보았다. 이것은 개발 단계에선 괜찮지만, 실제 운영중인 웹 서버에서 Django가 정적 콘텐츠를 제공하도록 하는 것은 매우 느리며 비효율적이다. 아파치나 Nginx 같은 웹 서버도 같은 역할을 할 수 있다. 또는 직접 정적 파일을 호스팅하는 대신에 모두 CDN(Content Delivery Network)에 업로드해서 호스팅하는 방법도 있다.

 

이런 이유로 여러 앱에 존재하는 모든 정적 파일을 한 곳에 모아서 배포용으로 만들어 둘 필요가 있다. 이 작업을 해주는 것이 collectstatic 명령이다.

 

수집된 정적 파일이 모이는 위치는 settings.py의 STATIC_ROOT 항목을 통해 설정한다.

 

정리: 디자인 및 레이아웃 테스트

디자인과 레이아웃용 테스트는 작성할 필요가 없다. 이것은 마치 상수를 테스트하거나 취약성이 잠재돼 있는 테스트를 작성하는 것과 같다.

 

디자인 및 레이아웃 구현은 CSS와 정적 파일을 내포하고 있다. 결과적으로 최소한의 "스모크 테스트(테스트 받을 만한 가치가 있는 것인지를 검증하는 것)"를 이용해서 CSS와 정적 파일이 동작하는지만 확인하는 것이 좋다. 이를 통해 코드를 상용 서버에 배포할 때 발생할 수 있는 문제들을 찾을 수 있다.

 

또한 작은 스타일링 코드를 적용하기 위해 다량의 클라이언트 측 자바스크립트가 요구되는 경우, 이를 위한 테스트도 반드시 필요하다.

 

따라서 디자인 테스트 문제는 위험한 영역이기도 하다. 디자인과 레이아웃이 동작한다는 것을 확신할 수 있게 하는 최소한의 테스트만 작성하자. 그리고 디자인과 레이아웃을 자유롭게 변경할 수 있도록 하고, 변경 시마다 테스트를 하거나 이전 상태로 돌리는 등의 작업은 배제하도록한다.

'개발 > Test-Driven Development with Python' 카테고리의 다른 글

TDD with Python 6장  (0) 2020.01.09
TDD with Python 5장  (0) 2019.12.19
TDD with Python 4장  (0) 2019.12.18
TDD with Python 1, 2, 3장  (0) 2019.12.18
Comments