unittest系统(四)测试套件

简介: 在前面的分享,我们分享了原理,断言,执行。这次我们分享测试套件。

测试套件,我们利用它可以组织测试运行。那么如何实现呢


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


这样,我们就组织好了,我们的测试套件,加入了两个用例。然后 利用TextTestRunner来执行用例,我们看下结果


image.png


其实,我们还可以根据文件夹组织我们的测试套件。我们可以将之前的测试用例再复制一下


image.png


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


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


其实很简单,我们只需要从TestLoader  加载。匹配test开头的py文件,然后组合成测试套件。然后示例化TextTestRunner,去执行测试套件,我们来看下执行结果


image.png


假如我们在测试过程中,需要获取suite的测试用例个数,怎么操作呢,直接操作如下:


print(suite.countTestCases())


运行下:


image.png


 除了上面加载测试套件的方式,我们还可以用下面的方式加载。


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


执行的结果是一样的


image.png


还有其他方法:


def suite():
    suite = unittest.TestSuite()
    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestDemo))
    return suite
if __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)


上面两个方式都执行结果如下


image.png


我们在执行的时候还可以配置展示详细信息。


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


结果就能展示详细信息


image.png

相关文章
|
6月前
|
测试技术 Python
关于python3 unittest 调用unittest.main() 执行多个测试函数并没有顺次执行的探讨。
在学习Python的单元测试的时候,扩展了一下,本来是想用setup和tearDown做一个简单的编号记录。然而,发现了问题。
33 0
|
1天前
|
Java 测试技术 数据库连接
【如何学习Python自动化测试】—— Python 的 unittest 框架
【如何学习Python自动化测试】—— Python 的 unittest 框架
6 0
|
1天前
|
测试技术 Python
Python测试架构unittest
【4月更文挑战第19天】
7 3
|
1天前
|
前端开发 测试技术 C++
Python自动化测试面试:unittest、pytest与Selenium详解
【4月更文挑战第19天】本文聚焦Python自动化测试面试,重点讨论unittest、pytest和Selenium三大框架。unittest涉及断言、TestSuite和覆盖率报告;易错点包括测试代码冗余和异常处理。pytest涵盖fixtures、参数化测试和插件系统,要注意避免过度依赖unittest特性。Selenium的核心是WebDriver操作、等待策略和测试报告生成,强调智能等待和元素定位策略。掌握这些关键点将有助于提升面试表现。
27 0
|
1天前
|
测试技术 Python
Python 的自动化测试:如何使用 Python 的 unittest 模块进行测试?
在Python中进行自动化测试可利用`unittest`模块。以下是一个简单的示例,展示了如何编写测试用例
11 0
|
1天前
|
测试技术 API Python
Python自动化测试:unittest与pytest的实战技巧
Python自动化测试:unittest与pytest的实战技巧
|
1天前
|
测试技术 Python
Python小姿势 - 如何使用Python的unittest模块进行单元测试
Python小姿势 - 如何使用Python的unittest模块进行单元测试
|
7月前
|
Java C++ Spring
Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件
Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件
67 0
|
8月前
|
前端开发 测试技术 BI
SAP UI5 的自动化测试套件页面的开发步骤介绍
SAP UI5 的自动化测试套件页面的开发步骤介绍
54 0

热门文章

最新文章