1
我正在使用Pytest夾具與燒瓶。我的應用程序使用應用程序工廠實例化。如何測試Flask是否使用test_client而不是客戶端?
#conftest.py
@pytest.fixture(scope='session')
def app(request):
'''Session-wide test application'''
app = create_app('testing')
app.client = app.test_client()
app_context = app.app_context()
app_context.push()
def teardown():
app_context.pop()
request.addfinalizer(teardown)
return app
我想驗證我的燈具創建的應用程序使用Flask's built-in test_client,所以我寫了一個測試:
#test_basics.py
def test_app_client_is_testing(app):
assert app.client() == app.test_client()
當我運行這個測試,我得到:TypeError: 'FlaskClient' object is not callable
我是什麼我做錯了?
測試不正確,或者夾具不正確?
啊,這使得分割它們更有意義。雖然你爲什麼不把「請求」傳遞給'app()'?我實際上不明白爲什麼請求需要通過,但我正在努力[這個例子](http://alexmic.net/flask-sqlalchemy-pytest/),它包括在內。 – 2015-02-10 23:14:14
@JeffWidman我使用了新的'yield_fixture'而不是'fixture',所以我不需要在'request'上單獨註冊清理。對不起,如果這是令人困惑。 – davidism 2015-02-10 23:15:25
哦,是的,我忘記了回調。謝謝! – 2015-02-10 23:18:43