测试我们的 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 ===