gpt4 book ai didi

python - beforeTest 方法中的单元测试 __unittest_skip__ 访问

转载 作者:太空宇宙 更新时间:2023-11-03 16:24:50 25 4
gpt4 key购买 nike

我正在使用skip装饰器进行测试:

@skip('I want this to skip')
def test_abc(self):

我还有一个 Nose 插件来报告具有定义的测试结果

def beforeTest(self, *args, **kwargs):

测试用例test_abcbeforeTest方法捕获。如何检查 beforeTest 方法中的装饰器值?

我看到unittest装饰器的定义有以下代码:

test_item.__unittest_skip__ = True
test_item.__unittest_skip_why__ = reason

但我不知道如何从 beforeTest 访问它。运行 args[0].test 时具有测试用例对象,但我似乎可以找到定义 __unittest_skip__ 的位置

谢谢!

最佳答案

查看源代码,似乎没有一种干净的方法来做到这一点。 TestCase 似乎根据 _testMethodName 知道它正在测试什么方法。实现细节。如果您有对正在运行的测试用例的引用(也许args[0].test?我不熟悉nose...)您可以 使用它,或者您可以从 TestCase.id() 的返回值中解析它。 。假设你没有做一些真正时髦的事情,它会是这样的:

test_name = test_case.id().rsplit('.', 1)[-1]
test_method = getattr(test_case, test_name)
if getattr(test_method, '__unittest_skip__', False):
# Method skipped. Don't do normal stuff.

关于python - beforeTest 方法中的单元测试 __unittest_skip__ 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38087092/

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