반응형
테스트에서 세션
에 액세스하려고 할 때 요청 컨텍스트 외부에서 작동
이 발생합니다. 필요한 것을 테스트 할 때 컨텍스트를 어떻게 설정할 수 있습니까?
import unittest
from flask import Flask, session
app = Flask(__name__)
@app.route('/')
def hello_world():
t = Test()
hello = t.hello()
return hello
class Test:
def hello(self):
session['h'] = 'hello'
return session['h']
class MyUnitTest(unittest.TestCase):
def test_unit(self):
t = tests.Test()
t.hello()
해결 방법
c = app.test_client()
response = c.get('/test/url')
# test response
with app.app_context():
# test your app context code
with current_app.test_request_context():
# test your request context code
앱 및 요청 컨텍스트 모두 수동으로 푸시 할 수 있으므로 인터프리터를 사용할 때 유용합니다.
>>> ctx = app.app_context()
>>> ctx.push()
Flask-Script 또는 새로운 Flask CLI는 shell
명령을 실행할 때 자동으로 앱 컨텍스트를 푸시합니다.
참조 페이지 https://stackoverflow.com/questions/17375340
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python으로 터미널 프로그램 만들기 (0) | 2021.01.14 |
---|---|
파이썬 pip를 사용하여 사용 가능한 Python 패키지를 검색하려면 어떻게해야합니까? (0) | 2021.01.14 |
파이썬에서 빈 구분자를 사용하여 문자열을 분할하는 방법 (0) | 2021.01.14 |
파이썬 Pandas DataFrame에서 True / False를 1/0에 매핑하려면 어떻게해야합니까? (0) | 2021.01.14 |
파이썬 2D 행렬에서 값의 인덱스 찾기 (0) | 2021.01.14 |
댓글