Как уже упоминалось, ни Python 2, ни Python 3 (как в 3.8) не имеют этого встроенного.
Однако вы можете довольно легко создать это самостоятельно, определив его в верхней части вашего файла:
def expectedFailureIf(condition):
"""The test is marked as an expectedFailure if the condition is satisfied."""
def wrapper(func):
if condition:
return unittest.expectedFailure(func)
else:
return func
return wrapper
Тогда вы можете сделать по существу то, что вы предлагаете (я не добавил причину, поскольку этого нет в существующей ожидаемой ошибке):
class MyTestCase(unittest.TestCase):
# some class here
@expectedFailureIf(sys.platform.startswith("win"))
def test_known_to_fail_on_windows_only(self):