unittest--运行不同文件下的测试

简介: unittest--运行不同文件下的测试

前戏


在前面我们都是在一个py文件里写测试用例,当然在实际项目中,肯定不会这么干,这样不是一个优秀的测试攻城狮,这时候我们就要查找不同目录下的测试来进行运行了


运行不同文件下的用例


先来看下文件结构

test_01.py

test_02.py

test_03.py

testrun.py

import unittest
from Testmodule.test_01 import Test_case01
from Testmodule.test_02 import Test_case02
from Testmodule.test_03 import Test_case03
case_01 = unittest.TestLoader().loadTestsFromTestCase(Test_case01)
case_02 = unittest.TestLoader().loadTestsFromTestCase(Test_case02)
case_03 = unittest.TestLoader().loadTestsFromTestCase(Test_case03)
suote = unittest.TestSuite([case_01, case_02, case_03])  # 添加到套件里面
unittest.TextTestRunner().run(suote)  # 执行所有的

执行结果

...............
test01
test02
test03
test04
test05
test01
test02
test03
test04
test05
test01
test02
test03
test04
test05


使用discover执行所有用例


上面我们一个一个的添加了用例,如果有几十个py文件,难道要添加几十次吗?答案肯定不是的,我们可以使用discover来批量运行

discover里面有三个参数

  • -case_dir:这个是待执行用例的目录
  • -pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有脚本
  • -top_level_dir:这个是顶层目录的名称,一般默认等于None就行

我们还是以上面的三个py文件为例,这时候更改testrun.py

import unittest
class Run_allCase(unittest.TestCase):
    def run_case(self):
        case_path = r'E:\django-project\NB_crm\Testmodule'
        # 第一个参数,文件路径,第二个参数,匹配规则,如果本来就是以test开头的,则可不传
        suite = unittest.defaultTestLoader.discover(case_path, 'test*.py')
        unittest.TextTestRunner().run(suite)
if __name__ == '__main__':
    r = Run_allCase()
    r.run_case()

结果还是和上面的运行结果一样,我们可以看出来,使用这种方法,很简单,以后直接加py文件就可以了,不需要再添加到里面

 


相关文章
|
9天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
43 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
134 56
|
10天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
本文介绍了Python的unittest框架的基础用法,包括测试初始化(setup)、清除(tearDown)函数的使用,以及assertEqual和assertGreaterEqual等断言方法,并展示了如何创建测试用例,强调了测试函数需以test_开头才能被运行。
61 1
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
|
1月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
41 4
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
60 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
1月前
|
安全 Linux 网络安全
Kali 渗透测试:利用HTA文件进行渗透攻击
Kali 渗透测试:利用HTA文件进行渗透攻击
|
1月前
|
安全 Linux 网络安全
Kali渗透测试:自动播放文件攻击
Kali渗透测试:自动播放文件攻击
|
6天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
34 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
57 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)

热门文章

最新文章