Python unittest.TestCase object has no attribute 'runTest' Python unittest.TestCase object has no attribute 'runTest' python-3.x python-3.x

Python unittest.TestCase object has no attribute 'runTest'


You need to invoke a TestLoader:

if __name__ == "__main__":    suite = unittest.defaultTestLoader.loadTestsFromTestCase(Test)    unittest.TextTestRunner().run(suite)


You have to specify the test method name (test1):

import unittestclass Test(unittest.TestCase):    def test1(self):        assert(True == True)if __name__ == "__main__":    suite = unittest.TestSuite()    suite.addTest(Test('test1')) # <----------------    unittest.TextTestRunner().run(suite)

Or, if you want to run all tests in the file, Just calling unittest.main() is enough:

if __name__ == "__main__":    unittest.main()


The actual test for any TestCase subclass is performed in the runTest() method. Simply change your code to:

class Test(unittest.TestCase):    def runTest(self):        assert(True == True)