2013년 7월 16일자
PythonKorea강남스터디 2주차 발표 Flask Testing 자료입니다.
발표주제는 Flask의 테스트에 대한 소개입니다.
TDD의 간단한 소개와 unittest모듈 소개 및 Flask에서 unittest사용하는 방법과 unittest의 기능을 확장한 Flask-Testing모듈에 대해 소개를 합니다.
2. 시작하기 전에
• Something
that
is
untested
is
broken
• 테스트하지 않은 것은 고장난다.
3. TDD
• 테스트주도 개발 Test-‐Driven
Development
• 프로그램을 작성하기 전에 테스트 먼저 하라
Test
the
program
before
you
write
it
• 잘동작하는 깔끔한 코드
Clean
code
that
works
• 질문è응답è정제è반복
AskèRespondèRefineèRepeat
4. xUnit
• 단위 테스트를 하는데 도움을 주는 프레임워크
xUnit 이름
관련언어
홈페이지
JUnit
Java
hOp://www.junit.org/
CUnit
C
hOp://cunit.sourceforge.net/
CppUnit
C++
hOp:/sourceforge.net/projects/cppunit
csUnit
C#
hOp://csunit.org/
Test::Unit
Ruby
hOp://ruby-‐doc.org/stdlib/libdoc/test/unit/rdoc/
classes/Test/Unit.html
uniOest
Python
hOp://docs.python.org/2/library/uniOest.html
11. Flask
applica)on
test
• Python에서 기본 제공하는 uniOest
module
사
용
• Source
code
hOps://github.com/mitsuhiko/flask/blob/
master/examples/flaskr/flaskr_tests.py
• Example
code
실행
13. 다른 테스팅 기법
• Flask
API에서 제공되는 Applica)on
Object
API
와 Test
Client
API 확인
– hOp://flask.pocoo.org/docs/api/#applica)on-‐object
– 예제)
test_request_context()함수를 사용
14. Flask-‐Tes)ng
• hOp://pythonhosted.org/Flask-‐Tes)ng/
• Python의 uniOest 모듈에서 부족한 부분을 확장
하여 제공함.
• 설치방법(2가지)
1. $
pip
install
Flask-‐Tes)ng
2. $
git
clone
hOps://github.com/jarus/flask-‐
tes)ng.git
$
cd
flask-‐tes)ng
$
python
setup.py
develop
15. 관련 링크
• 테스트 가능한 소프트웨어 설계와 TDD작성 패턴
(Testable
design
and
TDD)
hOp://www.slideshare.net/doorOs/tdd-‐testable-‐
design-‐and-‐tdd
• Flask
어플리케이션 테스트하기
hOp://kswa.codingstar.net:14705/html/tes)ng.html
• Python
Unit
tes)ng
framework
hOp://docs.python.org/2/library/uniOest.html
• Flask-‐Tes)ng
hOp://pythonhosted.org/Flask-‐Tes)ng/