默认值unittest.main()
使用默认的测试加载程序从运行main的模块中制作出TestSuite。
您不必使用此默认行为。
例如,您可以制作三个unittest.TestSuite实例。
“快速”子集。
fast = TestSuite()
fast.addTests( TestFastThis ) fast.addTests( TestFastThat )
“慢”子集。
slow = TestSuite()
slow.addTests( TestSlowAnother ) slow.addTests( TestSlowSomeMore )
“整个”设置。
alltests = unittest.TestSuite([fast, slow])
请注意,我已经调整了TestCase名称以指示“快速”与“慢”。您可以将unittest.TestLoader子类化以解析类的名称并创建多个加载器。
然后,您的主程序可以使用optparse或argparse(从2.7或3.2开始提供)来解析命令行参数,以选择要运行,快速,慢速或全部运行的套件。
或者,您可以信任这sys.argv[1]
是三个值之一,并使用像这样简单的值
if __name__ == "__main__":
suite = eval(sys.argv[1]) # Be careful with this line!
unittest.TextTestRunner().run(suite)