python runtime_error ai_generated true

unittest.SkipTest: Skipped: 'numpy' is not installed

ID: python/unittest-skip-unless-import-error

Also available as: JSON · Markdown · 中文
80%Fix Rate
87%Confidence
0Evidence
2024-12-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
3.10 active

Root Cause

使用 @unittest.skipUnless 但条件判断错误,导致测试被意外跳过。

generic

中文

使用 @unittest.skipUnless 但条件判断错误,导致测试被意外跳过。

Workarounds

  1. 95% success 使用 find_spec 检查
    @unittest.skipUnless(importlib.util.find_spec('numpy'), 'numpy not installed')
    def test_numpy(self): pass
  2. 90% success 模块级导入检查
    try:
        import numpy
    except ImportError:
        numpy = None
    @unittest.skipIf(numpy is None, 'numpy missing')
    def test(...):

Dead Ends

Common approaches that don't work:

  1. 在测试内部 try/except 40% fail

    尝试使用 try/except ImportError 包裹整个测试,但跳过逻辑不灵活

  2. 手动设置标志 30% fail

    尝试手动设置 skip 标志但忘记恢复