在后面的分享,咱们分享了原理,断言,执行。这次咱们分享测试套件。

测试套件,咱们利用它能够组织测试运行。那么如何实现呢

def suite():    suite = unittest.TestSuite()    suite.addTest(TestDemo('testone'))    suite.addTest(TestDemo('testtwo'))    return suiteif __name__ == '__main__':    runner = unittest.TextTestRunner()    runner.run(suite())

  这样,咱们就组织好了,咱们的测试套件,退出了两个用例。而后 利用TextTestRunner来执行用例,咱们看下后果

其实,咱们还能够依据文件夹组织咱们的测试套件。咱们能够将之前的测试用例再复制一下。

而后就有两个测试用例文件,那么如何通过文件夹加载组织咱们的测试套件呢。

def suite():    import  os    path=os.getcwd()    suite=unittest.TestLoader().discover(path, pattern='test*.py', top_level_dir=None)    return suiteif __name__=="__main__":    runner = unittest.TextTestRunner()    runner.run(suite())

其实很简略,咱们只须要从TestLoader 加载。匹配test结尾的py文件,而后组合成测试套件。而后示例化TextTestRunner,去执行测试套件,咱们来看下执行后果

如果咱们在测试过程中,须要获取suite的测试用例个数,怎么操作呢,间接操作如下:

print(suite.countTestCases())
  运行下:


除了下面加载测试套件的形式,咱们还能够用上面的形式加载。

def suite():    suit=unittest.TestSuite()    suit.addTests([TestDemo('testone'),TestDemo('testtwo')])    return suitif __name__=="__main__":    runner = unittest.TextTestRunner()    runner.run(suite())

  执行的后果是一样的

还有其余办法:

def suite():    suite = unittest.TestSuite()    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestDemo))    return suiteif __name__=="__main__":       suitone=suite()    name=unittest.TextTestRunner()    name.run(suitone)  def suite():    suite = unittest.TestSuite()    suite.addTests(unittest.TestLoader().loadTestsFromName("testdemoone.TestDemo"))    return suite if __name__=="__main__":       suitone=suite()    name=unittest.TextTestRunner()    name.run(suitone)

  下面两个形式都执行后果如下

咱们在执行的时候还能够配置展现详细信息。

suitone=suite()name=unittest.TextTestRunner(verbosity=2)name.run(suitone)

  
后果就能展现详细信息

如果你有问题能够留言或者加我微信:952943386。2021,一起牛转钱坤,一起牛逼。

欢送扫码关注,文章首发在公众号