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

相关文章
|
2月前
|
安全 Linux 测试技术
Intel Linux 内核测试套件-LKVS介绍 | 龙蜥大讲堂104期
《Intel Linux内核测试套件-LKVS介绍》(龙蜥大讲堂104期)主要介绍了LKVS的定义、使用方法、测试范围、典型案例及其优势。LKVS是轻量级、低耦合且高代码覆盖率的测试工具,涵盖20多个硬件和内核属性,已开源并集成到多个社区CICD系统中。课程详细讲解了如何使用LKVS进行CPU、电源管理和安全特性(如TDX、CET)的测试,并展示了其在实际应用中的价值。
|
4月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
229 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
5月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
167 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
5月前
|
测试技术 Python
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
本文介绍了Python的unittest框架的基础用法,包括测试初始化(setup)、清除(tearDown)函数的使用,以及assertEqual和assertGreaterEqual等断言方法,并展示了如何创建测试用例,强调了测试函数需以test_开头才能被运行。
100 1
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
|
9月前
|
测试技术 Python
python接口自动化测试 - unittest框架suite、runner详细使用
python接口自动化测试 - unittest框架suite、runner详细使用
|
9月前
|
XML 测试技术 数据格式
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(下)
91 3
|
9月前
|
Java 测试技术 程序员
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
软件测试之 自动化测试 基于Python语言使用Selenium、ddt、unitTest 实现自动化测试(上)
91 1
|
9月前
|
测试技术 Python
【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手
【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手
120 0
|
9月前
|
Java 测试技术
Java一分钟之-JUnit测试框架:断言与测试套件
【6月更文挑战第3天】本文介绍了JUnit在Java单元测试中的应用,包括断言基础如`assertEquals`、`assertTrue`等,用于验证代码预期结果;利用`@Suite`创建测试套件以组合多个测试;并讨论了常见问题及解决方法,如忽略测试、错误断言、异常处理和保持测试简洁。理解并熟练运用这些概念能提升测试代码的质量和效率。
120 2
|
10月前
|
Java 测试技术 数据库连接
【如何学习Python自动化测试】—— Python 的 unittest 框架
【如何学习Python自动化测试】—— Python 的 unittest 框架
55 0

热门文章

最新文章