python
runtime_error
ai_generated
true
unittest.SkipTest: Skipped: 'numpy' is not installed
ID: python/unittest-skip-unless-import-error
80%Fix Rate
87%Confidence
0Evidence
2024-12-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| 3.10 | active | — | — | — |
Root Cause
使用 @unittest.skipUnless 但条件判断错误,导致测试被意外跳过。
generic中文
使用 @unittest.skipUnless 但条件判断错误,导致测试被意外跳过。
Workarounds
-
95% success 使用 find_spec 检查
@unittest.skipUnless(importlib.util.find_spec('numpy'), 'numpy not installed') def test_numpy(self): pass -
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:
-
在测试内部 try/except
40% fail
尝试使用 try/except ImportError 包裹整个测试,但跳过逻辑不灵活
-
手动设置标志
30% fail
尝试手动设置 skip 标志但忘记恢复