You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何排查unittest+pytest环境下测试用例被跳过的原因?

解决pytest不显示unittest SkipTest跳过原因的方法

方法1:升级日志详细级别

当前你使用了-vv参数,可进一步升级为-vvv(三重详细模式),pytest会输出完整的跳过原因信息。执行命令修改为:

pytest -vvv /Users/roysmith/dev/pywikibot/core/tests/site_tests.py::TestGetParsedPage::test_get_with_default_parser

方法2:指定回溯输出模式

默认的回溯设置可能隐藏跳过原因,显式设置回溯模式可强制显示相关信息:

pytest -vv --tb=short /Users/roysmith/dev/pywikibot/core/tests/site_tests.py::TestGetParsedPage::test_get_with_default_parser

也可以用--tb=long获取更完整的回溯内容。

方法3:全局搜索SkipTest调用

直接在测试代码目录中搜索所有SkipTest的触发点,排查哪个条件命中了你的测试:

grep -r "SkipTest" /Users/roysmith/dev/pywikibot/core/tests/

找到对应代码后,结合测试上下文判断触发逻辑。

方法4:临时调试SkipTest行为(仅用于排查)

在测试文件开头或项目的conftest.py中添加以下代码,强制打印跳过原因和调用栈:

import unittest
import traceback

original_skip = unittest.SkipTest

def debug_skip(msg=""):
    print(f"触发SkipTest,原因:{msg}")
    traceback.print_stack()
    raise original_skip(msg)

unittest.SkipTest = debug_skip

运行测试时就能看到跳过操作的具体调用位置和传入的原因信息。


内容的提问来源于stack exchange,提问作者Roy Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 15:54:51