Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

310
Views
¿Cómo proporcionar siempre un contexto para la aplicación Flask probada con PyTest?

Intento implementar pruebas unitarias con Pytest en una aplicación Flask y me cuesta mucho hacerlo.

La aplicación My Flask usa archivos de configuración en la mayoría de las funciones (aquí some_method) para ilustrar. Entonces parece que debería proporcionar un contexto para cada llamada a cualquier método que me gustaría probar. Parece que puedo lograrlo con "with app.app_context():" en cada llamada.

Leí la documentación de prueba oficial pero hablan de crear un cliente. Como me gustaría hacer pruebas unitarias, necesito llamar a funciones secundarias que no son de nivel superior.

¿Hay alguna manera de proporcionar siempre un contexto sin presionar el contexto manualmente en cada llamada?

A continuación encontrará mi implementación actual:

principal.py

 from flask import current_app def main(request): current_app.config.from_envvar('APPLICATION_SETTINGS') print(some_method()) return 'OK' def some_method(): # doing some stuff using the context world = current_app.config['SECRET_KEY'] return world

test_main.py

 import pytest from flask import current_app, Flask from main import main, some_method @pytest.fixture def app(): app = Flask(__name__) # load here any potential configuration configuration return app def test_some_method(app): with app.app_context(): # calling and doing some assertion some_method()

PD: no tengo app = Flask ( name ) en mi archivo principal porque estoy ejecutando Functions Framework

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

pytest-flask parece configurar el contexto en cualquier llamada.

concurso.py

 import pytest from flask import Flask @pytest.fixture def app(): app = Flask(__name__) return app

test_main.py

 import pytest from flask import current_app, Flask from main import main, some_method def test_some_method(app): #with app.app_context(): # calling and doing some assertion some_method()

obras.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!