@@ -7,6 +7,8 @@ class Test_TestSkipping(unittest.TestCase):
7
7
8
8
def test_skipping (self ):
9
9
class Foo (unittest .TestCase ):
10
+ def defaultTestResult (self ):
11
+ return LoggingResult (events )
10
12
def test_skip_me (self ):
11
13
self .skipTest ("skip" )
12
14
events = []
@@ -16,8 +18,15 @@ def test_skip_me(self):
16
18
self .assertEqual (events , ['startTest' , 'addSkip' , 'stopTest' ])
17
19
self .assertEqual (result .skipped , [(test , "skip" )])
18
20
21
+ events = []
22
+ test .run ()
23
+ self .assertEqual (events , ['startTestRun' , 'startTest' , 'addSkip' ,
24
+ 'stopTest' , 'stopTestRun' ])
25
+
19
26
# Try letting setUp skip the test now.
20
27
class Foo (unittest .TestCase ):
28
+ def defaultTestResult (self ):
29
+ return LoggingResult (events )
21
30
def setUp (self ):
22
31
self .skipTest ("testing" )
23
32
def test_nothing (self ): pass
@@ -29,8 +38,15 @@ def test_nothing(self): pass
29
38
self .assertEqual (result .skipped , [(test , "testing" )])
30
39
self .assertEqual (result .testsRun , 1 )
31
40
41
+ events = []
42
+ test .run ()
43
+ self .assertEqual (events , ['startTestRun' , 'startTest' , 'addSkip' ,
44
+ 'stopTest' , 'stopTestRun' ])
45
+
32
46
def test_skipping_subtests (self ):
33
47
class Foo (unittest .TestCase ):
48
+ def defaultTestResult (self ):
49
+ return LoggingResult (events )
34
50
def test_skip_me (self ):
35
51
with self .subTest (a = 1 ):
36
52
with self .subTest (b = 2 ):
@@ -54,18 +70,28 @@ def test_skip_me(self):
54
70
self .assertIsNot (subtest , test )
55
71
self .assertEqual (result .skipped [2 ], (test , "skip 3" ))
56
72
73
+ events = []
74
+ test .run ()
75
+ self .assertEqual (events ,
76
+ ['startTestRun' , 'startTest' , 'addSkip' , 'addSkip' ,
77
+ 'addSkip' , 'stopTest' , 'stopTestRun' ])
78
+
57
79
def test_skipping_decorators (self ):
58
80
op_table = ((unittest .skipUnless , False , True ),
59
81
(unittest .skipIf , True , False ))
60
82
for deco , do_skip , dont_skip in op_table :
61
83
class Foo (unittest .TestCase ):
84
+ def defaultTestResult (self ):
85
+ return LoggingResult (events )
86
+
62
87
@deco (do_skip , "testing" )
63
88
def test_skip (self ): pass
64
89
65
90
@deco (dont_skip , "testing" )
66
91
def test_dont_skip (self ): pass
67
92
test_do_skip = Foo ("test_skip" )
68
93
test_dont_skip = Foo ("test_dont_skip" )
94
+
69
95
suite = unittest .TestSuite ([test_do_skip , test_dont_skip ])
70
96
events = []
71
97
result = LoggingResult (events )
@@ -78,19 +104,41 @@ def test_dont_skip(self): pass
78
104
self .assertEqual (result .skipped , [(test_do_skip , "testing" )])
79
105
self .assertTrue (result .wasSuccessful ())
80
106
107
+ events = []
108
+ test_do_skip .run ()
109
+ self .assertEqual (len (result .skipped ), 1 )
110
+ self .assertEqual (events , ['startTestRun' , 'startTest' , 'addSkip' ,
111
+ 'stopTest' , 'stopTestRun' ])
112
+
113
+ events = []
114
+ test_dont_skip .run ()
115
+ self .assertEqual (len (result .skipped ), 1 )
116
+ self .assertEqual (events , ['startTestRun' , 'startTest' , 'addSuccess' ,
117
+ 'stopTest' , 'stopTestRun' ])
118
+
81
119
def test_skip_class (self ):
82
120
@unittest .skip ("testing" )
83
121
class Foo (unittest .TestCase ):
122
+ def defaultTestResult (self ):
123
+ return LoggingResult (events )
84
124
def test_1 (self ):
85
125
record .append (1 )
126
+ events = []
86
127
record = []
87
- result = unittest . TestResult ( )
128
+ result = LoggingResult ( events )
88
129
test = Foo ("test_1" )
89
130
suite = unittest .TestSuite ([test ])
90
131
suite .run (result )
132
+ self .assertEqual (events , ['startTest' , 'addSkip' , 'stopTest' ])
91
133
self .assertEqual (result .skipped , [(test , "testing" )])
92
134
self .assertEqual (record , [])
93
135
136
+ events = []
137
+ test .run ()
138
+ self .assertEqual (events , ['startTestRun' , 'startTest' , 'addSkip' ,
139
+ 'stopTest' , 'stopTestRun' ])
140
+ self .assertEqual (record , [])
141
+
94
142
def test_skip_non_unittest_class (self ):
95
143
@unittest .skip ("testing" )
96
144
class Mixin :
0 commit comments