Issue #14664: It is now possible to use @unittest.skip{If,Unless} on a test class that doesn't inherit from TestCase (i.e. a mixin).
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index 4b3839e..18dee02 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -6,6 +6,7 @@
import difflib
import pprint
import re
+import types
import warnings
from . import result
@@ -55,7 +56,7 @@
Unconditionally skip a test.
"""
def decorator(test_item):
- if not (isinstance(test_item, type) and issubclass(test_item, TestCase)):
+ if not isinstance(test_item, (type, types.ClassType)):
@functools.wraps(test_item)
def skip_wrapper(*args, **kwargs):
raise SkipTest(reason)