flask+pytestで詰まったところ

こんばんは~ 今日はコードがあるので500文字オーバーしちゃいました~

最近、pythonでflaskやpytestをよく使うようになったのですが、
flaskがらみの部分をpytestで実行したら
エラーになったので備忘録として残します~

↓のようなファイルに対し、

flask_main.py

from flask import Flask, make_response
app = Flask(__name__)


@app.route('/')
def hello_world():
    mes = 'Hello, World!'
    r = make_response(mes)
    r.headers['Content-Type'] = 'application/json'

    return r

ちゃんと、「Hello, World!」が返ってくるかなぁというのを確認するために
test_flask.py

from flask_main import hello_world


def test_hello():
    assert 'Hello, World!' == hello_world()

を作りました。
でも実行すると、
RuntimeError: Working outside of application context.
というエラーが出てしまうんですよね。

どうすればいいかな?と探したところ、

from flask import Flask
from flask_main import hello_world

app = Flask(__main__)
def test_hello():
    with app.app_context(): 
         assert b'Hello, World!' == hello_world().data 

とやると、このエラーは消えるみたいです~
ただ、返ってくるデータがオブジェクトなので、
.dataで返したり、
バイト文字列で返ってくるのでbを付けたりと
ここまでしてパスしました~

…わざわざbを付けるのはテストとしてどうかな~と思うので、
つけなくても大丈夫な方法を見つけたいです~