Pytest不收集静态方法

2024-02-17

我有一个测试类,其中包含一些静态方法和普通方法。问题是pytest不收集静态方法。我在文档中找不到与此相关的任何内容。我怎样才能让它也收集静态方法?

class TestFoo(object):
    @staticmethod
    def test_bar():
        assert 1 == 1

    def test_bar2(self):
        assert 1 == 1

在上面的类中,仅test_bar2被收集并且test_bar() isn't.

我在跑步Python 2.7.13, pytest-3.1.2, py-1.4.34, pluggy-0.4.0

插件有xdist-1.17.1, leaks-0.2.2, cov-2.5.1


收集测试函数时,pytest 确保每个函数都是可调用的 https://github.com/pytest-dev/pytest/blob/4e57a39067ddf1973ca2a6207423fdcd5916fa2e/_pytest/python.py#L273.

But a 静态法不可调用,来自https://docs.python.org/3/reference/datamodel.html https://docs.python.org/3/reference/datamodel.html:

静态方法对象本身是不可调用的,尽管它们包装的对象通常是可调用的。

see:

>>> class TestFoo(object):
...     @staticmethod
...     def test_bar():
...         assert 1 == 1
... 
>>> hasattr(TestFoo.__dict__['test_bar'], '__call__')
False

为此,pytest 本身应该修改为接受静态方法,我不知道这是否是他们想要的,如果你认为你确实需要它,你可以在 github 上的问题跟踪器上打开一个问题。

为什么您认为静态方法是一种解决方案?具体针对哪个问题?

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

Pytest不收集静态方法 的相关文章

  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • Python 中的哈希映射

    我想用Python实现HashMap 我想请求用户输入 根据他的输入 我从 HashMap 中检索一些信息 如果用户输入HashMap的某个键 我想检索相应的值 如何在 Python 中实现此功能 HashMap
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • Python beautifulsoup 仅限 1 级文本

    我看过其他 beautifulsoup 得到相同级别类型的问题 看来我的有点不同 这是网站 我正试图拿到右边那张桌子 请注意表的第一行如何展开为该数据的详细细分 我不想要那个数据 我只想要最顶层的数据 您还可以看到其他行也可以展开 但在本例
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • Pandas 将多行列数据帧转换为单行多列数据帧

    我的数据框如下 code df Car measurements Before After amb temp 30 268212 26 627491 engine temp 41 812730 39 254255 engine eff 15
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • Django-tables2 列总计

    我正在尝试使用此总结列中的所有值文档 https github com bradleyayers django tables2 blob master docs pages column headers and footers rst 但页
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以
  • 如何计算Python中字典中最常见的前10个值

    我对 python 和一般编程都很陌生 所以请友善 我正在尝试分析包含音乐信息的 csv 文件并返回最常听的前 n 个乐队 从下面的代码中 每听一首歌曲都是一个列表中的字典条目 格式如下 album Exile on Main Street
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • 更改 Tk 标签小部件中单个单词的颜色

    我想更改 Tkinter 标签小部件中单个单词的字体颜色 我知道可以使用文本小部件来实现与我想要完成的类似的事情 例如使单词 YELLOW 显示为黄色 self text tag config tag yel fg clr yellow s

随机推荐

  • 在本地主机上托管 git 服务器

    我的公司没有中央 git 服务器 也不允许我使用 BitBucket 等 无论如何我可以使用我的本地主机作为remote 编辑 我在 Windows 机器上 本地目录的工作方式与远程存储库 URL 类似 因此只要您是唯一使用该存储库的人 基
  • shell 脚本错误期待“do”

    bin sh while true do echo WTF done 这给出了语法错误 语法错误 意外的文件结尾 需要 do 我也尝试过 bin sh while do echo WTF done 我怀疑行结尾 Try hexdump C
  • iOS 模拟器应用程序的终端命令行调试?

    是否可以在 Mac OS X 下的终端命令行中使用 GDB 或 LLDB 来调试在 iOS 模拟器上运行的应用程序 例如 不是从 Xcode 的 GUI 或控制台内部 而是使用外部命令行或进程 如果是这样 怎么办 您需要在模拟器的 Spri
  • MVC-错误消息

    我正在创建 MVC Web 应用程序 我应该在 MVC 模型 视图 控制器 的哪一部分保存错误消息 这些消息可能会出现在出现问题的地方并且用户应该阅读它们 目前情况 Model function f data error Error mes
  • 为 C# MVC ASP.NET 应用程序创建的默认数据库在哪里?

    我在引导程序上使用登录 注册脚本安装了新的 MVC ASP NET 应用程序 它工作正常 但我不知道该应用程序的默认数据库在哪里 我的 App Data 文件夹是空的 有人可以告诉我表单注册的数据保存在哪里吗 这将存储在 Visual St
  • 何时在 Ansible 中使用 from_json 过滤器?

    我什么时候应该使用from json filter https docs ansible com ansible playbooks filters html filters for formatting data在安西布尔 我发现使用它有
  • Mod 重写查询参数验证和阻止也请求 url 阻止

    在我的网站上 只允许很少的查询参数 但是 一些扫描仪或黑客试图使用我的 php 应用程序不支持的唯一参数访问 url 我可以通过验证在 php 应用程序级别阻止它们 GET参数 但我的服务器正在加载 所以如果参数无效 我想显示 403 查询
  • 如何为 flex: 0 0 25% 的弹性项目添加 1px 边距?

    我正在使用 Flexbox 测试几种不同的布局 但遇到以下问题 我有一个设置了弹性项目的图片库flex 0 0 25 我想给它们添加 1px 边距 因为 1 太大了 所以我想知道在这种情况下我应该做什么 我附上下面的例子 foto cont
  • 使用 sshj java 库在我的 Amazon EC2 机器上执行“sudo”命令

    我正在尝试使用 SSHJ 库在我的 Amazon EC2 计算机上执行 sudo 命令 https github com shikhar sshj https github com shikhar sshj 不幸的是 我没有收到服务器的任何
  • 使用 crypto-js 和十六进制编码对字符串进行加密,使其 url 友好

    我在用crypto js by brix https github com brix crypto js 我下面有这个函数来处理纯文本的加密 import CryptoJS from crypto js import AES from cr
  • Python 方法 *参数* 的双下划线

    我知道双下划线对于 Python 类属性 方法意味着什么 但是它对于方法参数意味着什么吗 看起来您无法将以双下划线开头的参数传递给方法 这很令人困惑 因为您可以对正常功能执行此操作 考虑这个脚本 def egg a None return
  • 如何使用多个 next.js 插件(typescript 和 stylus)

    我尝试使用打字稿和手写笔构建 next js 项目下一个撰写插件 https www npmjs com package next compose plugins 我的 next config js const withPlugins re
  • Laravel Carbon 从当前日期减去天数

    我正在尝试从模型 用户 中提取对象 其created at日期已超过从今天起 30 天 Carbon now gt 我想要 gt Carbon now 30 天 users Users where status id active gt w
  • 对日期和时间值进行排序

    简而言之 我有一个不同日期和时间的字符串数组 每个元素的格式如下 2015 08 27T22 24 31 903 即 YYYY MM DDT时 分 SS MMM 我正在对它们进行排序 是否有默认方法可用于对此格式进行排序 我现在正在做的是将
  • 是否有相当于 Backbone.js 路由器的 Ember.js 用于历史记录和哈希更改?

    在 Backbone js 中 您可以使用路由器绑定到 个更改以在单页 HTML5 应用程序中导航 Ember js 是否有等效项 或者我是否错过了其设计的一些基本内容 有计划为 Ember 编写一个路由器 它可能会与 Ember Stat
  • 如何隔离 Jenkins 管道 Groovy 共享库类加载器?

    我有一个 Groovy 库作为全局共享库提供 package com example Grab group org apache httpcomponents module httpclient version 4 5 3 import o
  • foreach 列表项的逆序

    我想颠倒此代码列表项的顺序 基本上 这是从最旧到最近的一组年份 我正在尝试扭转该输出 倒着走 如果您正在寻找纯粹的 PHP 解决方案 您也可以简单地从列表中向后计数 从前到后访问它
  • 如何使用DLL中的类?

    我可以将类放入 DLL 中吗 我写的类是这样的 class SDLConsole public SDLConsole SDLConsole void getInfo int int void initConsole char char SD
  • 如何在项目中使用Font Awesome图标作为ImageButton的图标

    我在实现如何在 Xamarin 应用程序中使用 Font Awesome 图标时遇到问题 我想将其与ImageButton作为图标 我发现的大多数教程都无法帮助我理解它是如何工作的 正如中所解释的微软文档 https learn micro
  • Pytest不收集静态方法

    我有一个测试类 其中包含一些静态方法和普通方法 问题是pytest不收集静态方法 我在文档中找不到与此相关的任何内容 我怎样才能让它也收集静态方法 class TestFoo object staticmethod def test bar