[2013.07.16] PythonKorea강남스터디 발표 - flask testing
-
Upload
daehyun-sung -
Category
Technology
-
view
1.065 -
download
12
description
Transcript of [2013.07.16] PythonKorea강남스터디 발표 - flask testing
Flask Tes)ng
2013-‐07-‐16 성대현(DaeHyun Sung)
시작하기 전에
• Something that is untested is broken • 테스트하지 않은 것은 고장난다.
TDD
• 테스트주도 개발 Test-‐Driven Development • 프로그램을 작성하기 전에 테스트 먼저 하라 Test the program before you write it
• 잘동작하는 깔끔한 코드 Clean code that works
• 질문è응답è정제è반복 AskèRespondèRefineèRepeat
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
Unit TestCase 수행 순서
setUp() testXXX() teardown()
테스트 시작 테스트 종료
Implemented Code(구현된 코드)
Unit Test(단위 테스트) 코드
Unit Test(단위 테스트) 실행결과
• OK – 테스트 성공!
• FAILED – Failures
• 예상한 값이 나오지 않아 테스트가 실패. – Errors
• 테스트를 하다 에러발생
Unit Test(단위 테스트) 실행결과
OK
Failures
Unit Test(단위 테스트) 실행결과
Errors
Flask applica)on test
• Python에서 기본 제공하는 uniOest module 사용
• Source code hOps://github.com/mitsuhiko/flask/blob/master/examples/flaskr/flaskr_tests.py
• Example code 실행
• 테스트코드처럼 작동되는지 확인
Run Flask applica)on
다른 테스팅 기법
• Flask API에서 제공되는 Applica)on Object API와 Test Client API 확인 – hOp://flask.pocoo.org/docs/api/#applica)on-‐object – 예제) test_request_context()함수를 사용
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
관련 링크 • 테스트 가능한 소프트웨어 설계와 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 frameworkhOp://docs.python.org/2/library/uniOest.html
• Flask-‐Tes)ng hOp://pythonhosted.org/Flask-‐Tes)ng/