python mysql flask werkzeug flask-restful

python - RuntimeError: trabajar fuera del contexto de la aplicación



mysql flask (1)

Flask tiene un contexto de aplicación , y parece que necesitarás hacer algo como:

def test_connection(self): with app.app_context(): #test code

Es probable que también pueda app.app_context() llamada app.app_context() en un método de configuración de prueba. Espero que esto ayude.

app.py

from flask import Flask, render_template, request,jsonify,json,g import mysql.connector app = Flask(__name__) **class TestMySQL():** @app.before_request def before_request(): try: g.db = mysql.connector.connect(user=''root'', password=''root'', database=''mysql'') except mysql.connector.errors.Error as err: resp = jsonify({''status'': 500, ''error'': "Error:{}".format(err)}) resp.status_code = 500 return resp @app.route(''/'') def input_info(self): try: cursor = g.db.cursor() cursor.execute (''CREATE TABLE IF NOT EXISTS testmysql (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(40) NOT NULL, / email VARCHAR(40) NOT NULL UNIQUE)'') cursor.close()

test.py

from app import * class Test(unittest.TestCase): def test_connection1(self): with patch(''__main__.mysql.connector.connect'') as mock_mysql_connector_connect: object=TestMySQL() object.before_request() """Runtime error on calling this"

Estoy importando la aplicación en test.py para la prueba de unidad. Al llamar a la función '' before_request '' en test.py, está lanzando RuntimeError: trabajar fuera del contexto de la aplicación lo mismo ocurre al llamar '' input_info () ''