Flask 테스트에서 'RuntimeError: 응용 프로그램 컨텍스트 외부에서 작업 중'을 어떻게 수정합니까?

Linda Hamilton
풀어 주다: 2024-11-13 15:34:02
원래의
702명이 탐색했습니다.

How Do I Fix

RuntimeError: Operating Outside Outside Application Context

Flask에서 각 요청은 다양한 작업의 컨텍스트 역할을 하는 애플리케이션 컨텍스트를 생성합니다. Flask 애플리케이션을 테스트할 때 "런타임 오류: 애플리케이션 컨텍스트 외부에서 작업 중" 오류가 발생하는 것이 일반적입니다. 이는 정의된 컨텍스트 외부에서 작업을 시도할 때 발생합니다.

이 문제를 해결하려면 단위 테스트 내에서 요청 컨텍스트를 명시적으로 생성해야 합니다. app.app_context()를 테스트에 통합함으로써 데이터베이스 연결이나 템플릿 렌더링과 같은 작업을 실행하는 데 필요한 컨텍스트를 설정합니다.

def test_connection1(self):
with app.app_context():
object = TestMySQL()
object.before_request()
로그인 후 복사

앱 컨텍스트 내에 테스트 코드를 래핑하여 작업이 다음과 같이 이루어지도록 합니다. 올바른 컨텍스트 내에서 수행되고 런타임 오류를 방지합니다. 또한 app.test_client()를 활용하면 실제 HTTP 요청 없이도 애플리케이션 컨텍스트를 포함하고 일반적인 요청의 효과를 에뮬레이트하는 테스트 클라이언트를 생성할 수 있습니다.

client = app.test_client()
response = client.get('/')
assert response.status_code == 200
로그인 후 복사

요약하자면, "RuntimeError: 작업 중인 애플리케이션 컨텍스트 외부" 오류가 발생하고 Flask 애플리케이션을 성공적으로 테스트하려면 app.app_context() 또는 app.test_client()를 사용하여 요청별 필수 컨텍스트를 설정하세요. 운영합니다.

위 내용은 Flask 테스트에서 'RuntimeError: 응용 프로그램 컨텍스트 외부에서 작업 중'을 어떻게 수정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿