測試我們的 Hello World 應用程式
介紹
在這個極簡主義的例子中,使用 pytest
我們將測試確實我們的 Hello World 應用程式確實返回 Hello World!
在 HTTP /
上使用 GET 請求命中時,HTTP OK 狀態程式碼為 200
首先讓我們將 pytest
安裝到我們的 virtualenv 中
pip install pytest
僅供參考,這是我們的 hello world 應用程式:
# hello.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
定義測試
在我們的 hello.py
旁邊,我們定義了一個名為 test_hello.py
的測試模組,它將由 py.test
發現
# test_hello.py
from hello import app
def test_hello():
response = app.test_client().get('/')
assert response.status_code == 200
assert response.data == b'Hello, World!'
回顧一下,此時我們用 tree
命令獲得的專案結構是:
.
├── hello.py
└── test_hello.py
執行測試
現在我們可以使用 py.test
命令執行此測試,該命令將自動發現我們的 test_hello.py
及其中的測試功能
$ py.test
你應該看到一些輸出和 1 個測試已經過去的指示,例如
=== test session starts ===
collected 1 items
test_hello.py .
=== 1 passed in 0.13 seconds ===