How do you generate dynamic (parameterized) unit tests in python?

后端 未结 25 2433
面向向阳花
面向向阳花 2020-11-22 07:09

I have some kind of test data and want to create a unit test for each item. My first idea was to do it like this:

import unittest

l = [[\"foo\", \"a\", \"a\         


        
25条回答
  •  耶瑟儿~
    2020-11-22 07:22

    You can use TestSuite and custom TestCase classes.

    import unittest
    
    class CustomTest(unittest.TestCase):
        def __init__(self, name, a, b):
            super().__init__()
            self.name = name
            self.a = a
            self.b = b
    
        def runTest(self):
            print("test", self.name)
            self.assertEqual(self.a, self.b)
    
    if __name__ == '__main__':
        suite = unittest.TestSuite()
        suite.addTest(CustomTest("Foo", 1337, 1337))
        suite.addTest(CustomTest("Bar", 0xDEAD, 0xC0DE))
        unittest.TextTestRunner().run(suite)
    

提交回复
热议问题