Piszę TestCase w Pythonie przy użyciu unittest, który wygląda mniej więcej tak:Jak mogę udekorować metodę unittest Pythona, aby pominąć, jeśli wcześniej oceniona właściwość nie jest prawdziwa?
class MyTestCase(unittest.TestCase):
def setUp(self):
# ... check if I'm online - might result in True or False
self.isOnline = True
@unittest.skipIf(not self.isOnline, "Not online")
def test_xyz(self):
# do a test that relies on being online
Jednak nie wydaje się działać, zakładam bo @skipIf
nie można używać self
poza ciałem deklaracji funkcji . Wiem, że mogę sprawdzić wartość self.isOnline
w funkcji test_xyz
i zamiast tego użyć skipTest
, ale jest to mniej eleganckie. Czy są jakieś inne opcje?
Używanie 'skipTest' wewnątrz nie jest _to złe. – dursk