gpt4 book ai didi

python - 如果定义了构造函数,py.test 会跳过测试类

转载 作者:IT老高 更新时间:2023-10-28 21:32:58 35 4
gpt4 key购买 nike

我有以下通过 py.test 运行的单元测试代码。构造函数的存在使整个类在运行时跳过py.test -v -s

已收集 0 项/已跳过 1 项

谁能向我解释一下 py.test 的这种行为?

我有兴趣了解 py.test 的行为,我知道不需要构造函数。

谢谢,兹德内克

class TestClassName(object):
def __init__(self):
pass

def setup_method(self, method):
print "setup_method called"

def teardown_method(self, method):
print "teardown_method called"

def test_a(self):
print "test_a called"
assert 1 == 1

def test_b(self):
print "test_b called"
assert 1 == 1

最佳答案

py.test 的文档 says py.test 实现了以下标准测试发现:

  • 集合从初始命令行参数开始,可能是目录、文件名或测试 ID。递归到目录,除非它们匹配 norecursedirs
  • test_*.py 或 *_test.py 文件,由它们的包名导入。
  • Test 前缀测试类(没有 __init__ 方法)[<-- 注意这里]
  • test_前缀的测试函数或方法是测试项

所以并不是不需要构造函数,py.test 只是忽略了具有构造函数的类。还有一个guide用于更改标准测试发现。

关于python - 如果定义了构造函数,py.test 会跳过测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21430900/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com