Coder Social home page Coder Social logo

byunseob42maru / flask-tdd-with-testing-goat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from urangurang/flask-tdd-with-testing-goat

0.0 1.0 0.0 315 KB

Test-Driven Development with Python in Flask

License: MIT License

Python 83.69% CSS 1.03% JavaScript 3.37% HTML 11.91%

flask-tdd-with-testing-goat's Introduction

FLASK TDD with TESTING GOAT

개발을 시작한지 2년 남짓 되었지만, 제대로 된 테스트 코드 하나 갖추지 못한채 개발을 하는 모습을 바꿔보고자 시작하게되었습니다.

파이썬을 이용한 클린 코드를 위한 테스트 주도 개발의 Django 코드를 Flask로 구현했습니다. 그리고 테스팅에 사용된 unittest대신 pytest를 사용해보았습니다.

기존 코드를 그대로 입력해볼 수도 있었지만, 기계적인 입력이 되는 것을 방지하고자 새롭게 코드를 짜며 책 내용을 반복하고 있습니다.

시작에 앞서

다음 링크에서 무료로 영문판 책 내용을 보실 수 있습니다.

Test-Driven Development with Python

본 예제는 파이썬 3.6.0 버전으로 실행됩니다.(3이상이면 큰 차이는 없을 것으로 예상됩니다.)

본 예제가 Flask와 Testing을 함께 공부하고자 하시는 분께 도움이 되었으면 합니다.

책과 달라진 점

  • Django -> Flask
  • Django Template - > Jinja2
  • Django ORM -> SQLAlchemy
  • unnittest -> pytest

추가적으로 설치된 라이브러리 목록은 requirement.txt에 입력돼 있습니다. 

설치

실행에 앞서 파이썬3 가상환경에서 requirement.txt의 리스트 대로 설치해줍니다.

$ pip install -r requirement.text

관련 라이브러리 설치 후 예제에 사용된 DB 모델 테이블을 생성해줍니다.

$ export FLASK_APP=blog/__init__.py
$ flask shell
>>> from blog.database import init_db
>>> init_db()
def init_db():
    import blog.base.models
    Base.metadata.create_all(bind=engine)

init_db()를 통해 models.py에 있는 클래스가 sqlite에 만들어집니다.

저는 db 파일을 tmp 경로에 만들도록 해두었습니다.

본 예제에서 데이터베이스는 sqlite가 사용되었습니다. 다운로드

라이센스

본 예제는 MIT License 아래 보호되고 있습니다. 자세한 내용은 다음 파일을 참고해주세요. LICENSE.md

flask-tdd-with-testing-goat's People

Contributors

urangurang avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.