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"
我正在将 应用程序 导入到 test.py中 以进行单元测试。在将’ before_request
‘函数调用到test.py中时,它会抛出RuntimeError:在应用程序上下文之外工作同样会在调用’ input_info() ‘时发生
Flask有一个Application
Context
,似乎您需要执行以下操作:
def test_connection(self):
with app.app_context():
#test code
您可能还可以将app.app_context()
调用推入测试设置方法中。希望这可以帮助。
问题内容: 我有一个像这样的应用程序工厂 然后,我有一个脚本,可以在应用程序上下文之外获取CSV。该脚本是一个cron,每x小时运行一次 我想以某种方式更新应用程序正在使用的sqlite数据库。这可能吗? 问题答案: Flask-SQLAlchemy只需要一个应用程序上下文即可运行。您可以手动创建应用上下文。 这来自这里和这里的文档。
设置如下--我有一个定时任务,它将发送验证电子邮件,以便用户: 如果我可以在这里设置thymeleaf模板解析器来处理这些链接,也会有所帮助,但为此我需要,它需要的实例。
问题内容: 我有一个Spring应用程序,到目前为止运行良好。现在,我希望属性文件位于外部配置文件夹中,而不是在打包的jar中,而无需重新打包即可更改内容。这就是我得到的: 问题答案: 如果将其放置在名为spring的目录中的类路径中的某个位置(相应地更改名称/目录),则可以使用 这将指向web-inf / classes / config / springcontext.properties
我多年来一直在使用Spring MVC,我试图理解与Spring Boot的一些关键区别。 你能帮我确认一下吗?或者让我明白我在这里遗漏了什么?
我定义了一个bean在Spring上下文文件'Application ationContext.xml'如下所示: 在我的服务类(ServiceImpl)中,我使用如下bean: 正在从JUnit测试类访问我的服务类。 当我执行测试用例时,它会给出错误提示: 创建名为“ServiceImpl”的bean时出错:自动连线依赖项的注入失败;嵌套的异常是org。springframework。豆。工厂B
Spring Boot对于如何使用Spring构建应用程序有一个看法:例如它具有常规配置文件的常规位置,以及用于常见管理和监视任务的端点。Spring Cloud建立在此之上,并添加了一些可能系统中所有组件将使用或偶尔需要的功能。 引导应用程序上下文 一个Spring Cloud应用程序通过创建一个“引导”上下文来进行操作,这个上下文是主应用程序的父上下文。开箱即用,负责从外部源加载配置属性,还解