在unittest单元测试框架中,会通过TextTestRunner类提供的run()方法来执行test suite/test case .
如何将测试用例组装起来呢?
方法一: 通过TestSuite类的addTest()方法把不同测试类中的测试方法组装到测试套件中。
test_suit = unittest.TestSuite()
test_suit.addTest(LoginTest('test_sign_in1'))
test_suit.addTest(LoginTest('test_sign_in2'))
test_suit.addTest(LoginTest('test_sign_in3'))
这种方法的缺陷是:当测试用例过多时,不太好管理。
方法二: 递归查找指定目录( test_dir )及其子目录下的全部测试模块,将这些测试模块放入一个TestSuite 对象并返回。只有匹配pattern的测试文件才会被加载到TestSuite中。
# test case 所放的位置在 test_case 下面类型文件名为 test***.py 的文件
test_dir = './test_case'
discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py' )
这种方法正好解决了测试用例过多的情况。
网友评论