实际测试我构建的应用程序(Flask,Python)

2023-12-23

如果我构建了一个应用程序,测试实际应用程序的协议是什么?

我只是了解测试,并且对扩展进行测试(在其中构建 shell 应用程序,然后测试您的扩展)对我来说很有意义,但如果我想测试我正在构建的实际应用程序的某些部分,则没有意义。

我想知道是否有人对如何打包和测试 Flask 应用程序有任何指示、指南或想法。到目前为止我所尝试的(将应用程序导入测试并开始为其构建测试)既令人不快又不成功。我现在知道我需要 X、Y、Z 的应用程序,并且通过构建确保 X、Y、Z 发生的测试,我可以节省大量未来时间。然而,构建一个单独的测试应用程序似乎会耗费时间并且效率低下。


有很多方法可以测试您的应用程序。

Flask 的文档 http://flask.pocoo.org/docs/testing/提供有关如何初始化应用程序并向其发出请求的信息:

import flaskr

class FlaskrTestCase(unittest.TestCase):

    def setUp(self):
        self.db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp()
        self.app = flaskr.app.test_client()
        flaskr.init_db()

    def tearDown(self):
        os.close(self.db_fd)
        os.unlink(flaskr.DATABASE)

    def test_empty_db(self):
        rv = self.app.get('/')
        assert 'No entries here so far' in rv.data

这允许您使用他们的请求任何路线test_client。您可以请求应用程序中的每个路由,并断言它正在返回您期望的数据。

您也可以编写测试来测试特定功能,只需导入该功能并进行相应的测试即可。

您根本不必编写“单独的测试应用程序”。然而,你可能需要做一些事情,比如加载测试数据、模拟对象/类,这些都不是很简单,但是有很多博客文章/python 工具可以帮助你完成这些事情

我建议首先阅读烧瓶测试文档,它们提供了很好的概述。

此外,如果您能提供具体信息,将会非常有帮助。

到目前为止我已经尝试过的(将应用程序导入测试并开始 为其构建测试)既不愉快又不成功

是不是很有建设性。执行测试时是否遇到错误?如果是这样,你可以发布它们吗?怎么会不成功呢?您不知道要测试哪些部分吗?您在执行测试时遇到问题吗?加载数据中?测试反应?错误?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实际测试我构建的应用程序(Flask,Python) 的相关文章

  • Python模块可以访问英语词典,包括单词的定义[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 python 模块 它可以帮助我从英语词典中获取单词的定义 当然有enchant 这可以帮助我检查该单词是否存在于英语中
  • 无法在 Spring Boot 测试中模拟 persistenceContext

    我正在使用带有 Mockito 框架的 spring boot 测试来测试我的应用程序 存储库类 EntityManager 之一作为参考 我的班级如下所示 Repository Transactional Slf4j public cla
  • 在 Python distutils 中从 setup.py 查找脚本目录的正确方法?

    我正在分发一个具有以下结构的包 mymodule mymodule init py mymodule code py scripts script1 py scripts script2 py The mymodule的子目录mymodul
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 以同步方式使用 FastAPI,如何获取 POST 请求的原始正文?

    在中使用 FastAPIsync not async模式 我希望能够接收 POST 请求的原始 未更改的正文 我能找到的所有例子都显示async代码 当我以正常同步方式尝试时 request body 显示为协程对象 当我通过发布一些内容来
  • 在Python中调整图像大小

    我有一张尺寸为 288 352 的图像 我想将其大小调整为 160 240 我尝试了以下代码 im imread abc png img im resize 160 240 Image ANTIALIAS 但它给出了一个错误TypeErro
  • 如何通过在 Python 3.x 上按键来启动和中断循环

    我有这段代码 当按下 P 键时会中断循环 但除非我按下非 P 键 否则循环不会工作 def main openGame while True purchase imageGrab if a sum gt 1200 fleaButton ti
  • Python urllib.request.urlopen:AttributeError:'bytes'对象没有属性'data'

    我正在使用 Python 3 并尝试连接到dstk 我收到错误urllib包裹 我对SO进行了很多研究 但找不到与这个问题类似的东西 api url self api base street2coordinates api body jso
  • 使用鼻子获取设置中当前测试的名称

    我目前正在使用鼻子编写一些功能测试 我正在测试的库操作目录结构 为了获得可重现的结果 我存储了一个测试目录结构的模板 并在执行测试之前创建该模板的副本 我在测试中执行此操作 setup功能 这确保了我在测试开始时始终具有明确定义的状态 现在
  • 将 matplotlib 颜色图集中在特定值上

    我正在使用 matplotlib 颜色图 seismic 绘制绘图 并且希望白色以 0 为中心 当我在不进行任何更改的情况下运行脚本时 白色从 0 下降到 10 我尝试设置 vmin 50 vmax 50 但在这种情况下我完全失去了白色 关
  • 使用 Firefox 绕过弹出窗口下载文件:Selenium Python

    我正在使用 selenium 和 python 来从中下载某些文件web page http www oceanenergyireland com testfacility corkharbour observations 我之前一直使用设
  • Tkinter - 浮动窗口 - 调整大小

    灵感来自this https stackoverflow com a 22424245 13629335问题 我想为我的根窗口编写自己的调整大小函数 但我刚刚注意到我的代码显示了一些性能问题 如果你快速调整它的大小 你会发现窗口没有像我希望
  • 迭代 my_dict.keys() 并修改字典中的值是否会使迭代器失效?

    我的例子是这样的 for my key in my dict keys my dict my key mutate 上述代码的行为是否已定义 假设my dict是一本字典并且mutate是一个改变其对象的方法 我担心的是 改变字典中的值可能
  • 在Python中按属性获取对象列表中的索引

    我有具有属性 id 的对象列表 我想找到具有特定 id 的对象的索引 我写了这样的东西 index 1 for i in range len my list if my list i id specific id index i break
  • 字典和数组作为类变量与实例变量

    这是赚取积分的简单方法 请解释以下内容 class C a b 0 c def init self self x def d self k v self x k v self a k v self b v self c append v d
  • 如何读取Python字节码?

    我很难理解 Python 的字节码及其dis module import dis def func x 1 dis dis func 上述代码在解释器中输入时会产生以下输出 0 LOAD CONST 1 1 3 STORE FAST 0 x
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li
  • 检查字典键是否有空值

    我有以下字典 dict1 city name yass region zipcode phone address tehsil planet mars 我正在尝试创建一个基于 dict1 的新字典 但是 它不会包含带有空字符串的键 它不会包
  • Scrapy Spider不存储状态(持久状态)

    您好 有一个基本的蜘蛛 可以运行以获取给定域上的所有链接 我想确保它保持其状态 以便它可以从离开的位置恢复 我已按照给定的网址进行操作http doc scrapy org en latest topics jobs html http d
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项

随机推荐

  • SQL-如何选择具有最大值的列的行[重复]

    这个问题在这里已经有答案了 date value 18 5 2010 1 pm 40 18 5 2010 2 pm 20 18 5 2010 3 pm 60 18 5 2010 4 pm 30 18 5 2010 5 pm 60 18 5
  • Laravel 如何检查验证唯一表两个字段

    我有 tableA 有 2 个字段 1 song id 2 playlist id 我想检查 laravel 验证独特的功能 示例 我已插入数据 id gt 1 song id gt 2 playlist id gt 34 然后我必须再次插
  • 仅删除给定字符串中的第一个单词

    我正在尝试从给定字符串中删除第一个单词 到目前为止我已经完成了 word removeMe meow whatever needle removeMe haystack To replace with word str replace ne
  • 同一域中 IE9 中的 Script5 访问被拒绝

    我正在 django 中开发一个网站 它使用 jquery 多文件上传插件 当我注册到我的网站时 一封确认电子邮件会发送到我的 Gmail 帐户 我单击激活链接 我的网站将在新选项卡中打开 我登录 然后尝试上传文件 但在 IE9 中失败 F
  • Rcpp:错误:与请求的类型不兼容

    我有这个 C 代码 include
  • 独特的词典列表

    假设我有一个字典列表 id 1 name john age 34 id 1 name john age 34 id 2 name hanna age 30 如何获取唯一词典的列表 删除重复项 id 1 name john age 34 id
  • 源更改时如何重建 Node.js 插件

    我有一个 node js 应用程序 并且创建了一个本机插件 如果您需要背景信息 可以创建 Node js 的本机插件像这样 https nodejs org api addons html 在我的开发环境中 我希望它监视源文件 在本例中是
  • 在 RelaxNG 中将元素定义为非空

    我已经开始使用 RelaxNG 来指定 XML 消息模式 并使用 PHP DOMDocument 来验证和解析传入消息 但无法弄清楚如何定义文本节点以使其不能为空 示例架构
  • Phonegap Android 文件传输错误代码 3

    我正在开发 Android 移动应用程序 它使用 Dave Johnson 的 Facebook Connect 插件 https github com davejohnson phoneg https github com davejoh
  • 如何对二维列表进行排序? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有以下类型的列表 lst 1 0 23 2 0 39 4 0 31 5 0 27 我想按第二列的降序对其进行排序 我尝试过内置sorte
  • 在 Coldfusion / Apache POI 中强制完整计算整个工作簿

    给定一个工作簿 其中包含由以下方法生成的跨表公式Coldfusion 9 via Apache POI 我想以编程方式强制整个工作簿进行 通过依赖树重建进行完整计算 before将工作簿保存到磁盘 So that when my end u
  • 我无法使用模式来使用像“abc_def”这样的组名称

    我对必须编译的一系列模式有疑问 这是一个例子
  • 如何外部化 maven-checkstyle-plugin 的 checkstyle 配置

    我试图让 maven checkstyle plugin 对我们的所有项目使用相同的配置文件 我尝试了几种方法 但没有一种有效 似乎唯一有效的是当我将配置文件放在我的 maven project 的根目录中 然后在 pom xml 中使用该
  • 我不确定为什么决策树和随机森林显示 100% 的准确率?

    我目前正在研究一个模型 该模型可以读取结构化数据并确定某人是否患有疾病 我认为问题在于数据没有在训练数据和测试数据之间分开 我不知道我怎样才能做到这一点 我不知道该尝试什么 import pandas as pd import numpy
  • phpUnit中createMock和getMockBuilder有什么区别?

    为了我一生的挚爱 我无法弄清楚两者之间的区别createMock type and getMockBuilder type 我正在查看原始文档 只有一行我不明白 您可以使用 getMockBuilder type 方法来自定义测试双精度生成
  • 监控磁盘读/写活动

    有没有办法使用 python 获取当前磁盘加载 我使用 psutil 来获取 CPU 和 RAM 使用情况 psutil cpu percent and psutil virtual memory used 但我不知道如何获取有关硬盘的此类
  • 交替表行颜色,但有 2 行数据

    我已经为斑马条纹设置了表格 但是如何实现使行颜色交替为 2 行而不是单行 我的数据标记如下所示 tr td task TaskNum td td task RepiarTime td td Priority Club td td SD td
  • 在 Erlang 中将列表拆分为相同大小的块

    我想分割 1 2 3 4 5 6 7 8 into 1 2 3 4 5 6 7 8 它通常适用于 lists sublist List X 2 X lt lists seq 1 length List 2 但这样确实很慢 在我的上网本上 1
  • pandas dataframe 删除频率较低的行

    删除具有低频值列的所有行的最佳实践是什么 数据框 IN foo bar poo 1 a A 2 a A 3 a B 4 b B 5 b A 6 b A 7 c C 8 d B 9 e B 示例1 删除 poo 列中频率值小于 3 的所有行
  • 实际测试我构建的应用程序(Flask,Python)

    如果我构建了一个应用程序 测试实际应用程序的协议是什么 我只是了解测试 并且对扩展进行测试 在其中构建 shell 应用程序 然后测试您的扩展 对我来说很有意义 但如果我想测试我正在构建的实际应用程序的某些部分 则没有意义 我想知道是否有人