File tree Expand file tree Collapse file tree 3 files changed +37
-8
lines changed
Expand file tree Collapse file tree 3 files changed +37
-8
lines changed Original file line number Diff line number Diff line change 1+ from test_case import TestCase
2+
3+
4+ class NoOpTestCase (TestCase ):
5+ def testMethod (self ) -> None :
6+ pass
7+
8+ def testMethod2 (self ) -> None :
9+ pass
Original file line number Diff line number Diff line change 1+ from test_suite import TestSuite
2+
3+
14class TestCase :
25
36 def __init__ (self , name ) -> None :
@@ -28,3 +31,15 @@ def run(self, result) -> None:
2831
2932 def tearDown (self ) -> None :
3033 pass
34+
35+ def getTestNames (self ):
36+ testNames = [testName for testName in dir (
37+ self ) if testName .startswith ("test" )]
38+ return testNames
39+
40+ def asSuite (self ):
41+ suite = TestSuite ()
42+ testNames = self .getTestNames ()
43+ for testName in testNames :
44+ suite .add (self .__class__ (testName ))
45+ return suite
Original file line number Diff line number Diff line change 44from broken_setup import TestCaseWithBrokenSetup
55from test_suite import TestSuite
66from broken_teardown import TestCaseWithBrokenTearDown
7+ from no_op_test_case import NoOpTestCase
78
89
910class TestCaseTest (TestCase ):
@@ -48,16 +49,20 @@ def testTearDownCalledEvenIfTestFails(self) -> None:
4849 test .run (self .result )
4950 assert ("setUp testBrokenMethod tearDown " == test .log )
5051
52+ def testCollectAllTestNames (self ) -> None :
53+ test = NoOpTestCase ('testMethod' )
54+ assert (test .getTestNames () == ["testMethod" , "testMethod2" ])
5155
52- suite = TestSuite ()
53- suite .add (TestCaseTest ("testTemplateMethod" ))
54- suite .add (TestCaseTest ("testFailedResultFormatting" ))
55- suite .add (TestCaseTest ("testFailedResult" ))
56- suite .add (TestCaseTest ("testFailedSetUp" ))
57- suite .add (TestCaseTest ("testSuite" ))
58- suite .add (TestCaseTest ("testFailedTearDown" ))
59- suite .add (TestCaseTest ("testTearDownCalledEvenIfTestFails" ))
56+ def testReturnsTestSuite (self ) -> None :
57+ suite = NoOpTestCase ('testMethod' ).asSuite ()
58+ assert (len (suite .tests ) == 2 )
6059
60+ result = TestResult ()
61+ suite .run (result )
62+ assert (result .summary () == "2 run, 0 failed" )
63+
64+
65+ suite = TestCaseTest ('anything' ).asSuite ()
6166result = TestResult ()
6267suite .run (result )
6368print (result .summary ())
You can’t perform that action at this time.
0 commit comments