Flaskでpytestを使うためのサンプルです.

目次

  1. GET
  2. POST
  3. リダイレクト

GET

def test_get():
client = app.test_client()
response = client.get('検査するURL') # 例えばrootならflaskで指定する通り'/'とする
assert b'HTML的に含まれるはずの文字列' in response.data
#次でもよい
#assert 'HTML的に含まれるはずの文字列' in response.data.decode('utf-8')

POST

def test_post():
client = app.test_client()
response = client.post(
'検査するURL',
data={
'abc': 123
}
)
assert response.status_code == 200
assert response.data == b'123' # 検査するURLにおいて返ってくるのがreturn request.form['abc']のケース

リダイレクト

def test_redirect():
client = app.test_client()
response = client.get('リダイレクト前のURL', follow_redirects=True)
assert response.request.path == 'リダイレクト後のURL'