For the following code:
import unittest
class Test(unittest.TestCase):
def test1(self):
assert(True == True)
if __name__ == \"__main__\":
s
You can run it like this:
python -m unittest <your-module-name>
I don't fully understand why it works though.
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 unittest
class 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)