Есть ли способ пропустить целое TestCase
на основе пользовательского условия с помощью nosetests? Я имею в виду что-то в стиле unittest.skip*
.
Я пробовал
import unittest
@unittest.skip("No reason")
class TestFoo(object):
def test_foo(self):
assert False
Я выяснил, что это работает, используя python <= 2.7.3 (по-видимому, случайно), но в python 2.7.6 нет.
Есть ли способ носетистов сделать это, или я должен создать свой собственный декоратор?
Примечания:
- Мы пробовали все комбинации python 2.7.3, 2.7.6 и nosetests 1.1.2, 1.3.0.
- Если класс наследуется от
unittest.TestCase
, он работает, но это не то, что мне нужно. - Кажется, что работает, когда
setUpClass
поднимаетSkipTest
, но выглядит неуклюже. - Я нашел
nottest
декоратор, но он не помечает тест как пропущенный.
Резюме
- Обновление 20. 5. 2014: до этой даты я не нашел решения этой проблемы, поэтому кажется, что единственным вариантом является создание пользовательского декоратора.
- Обновление 12. 6. 2014: Я обнаружил, что повышение
SkipTest
вsetUpClass
не является хорошей идеей в некоторых случаях, поскольку nosetests неteardownContext
в этих случаях. Это может иметь неблагоприятные последствия, если задействованы плагины.