news 2026/8/29 4:38:48

做Python自动化测试,我教你个方法还能快一倍!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
做Python自动化测试,我教你个方法还能快一倍!

如果你学过 python 进行自动化测试,你一定使用过 unittest。

今天我们要讲的 nose2 是一个高级版本的 unittest。他比 unittest 更容易理解,用起来也更加方便一些。

快速开始

nose2 在 unittest 的基础上开发的,所以如果你之前是用 unittest 做测试,但是有想使用 nose2 的新特性,你可以在不改变原有代码的情况下直接使用 nose2。

安装

nose2 是第三方库,需要自己安装,直接在 cmd 运行 pip 指令安装:

运行测试用例

在快速开始当中,我们使用了在 python 代码中用 nose2.main() 的方式去运行测试用例,这样是完全 OK 的。

还有另外一种运行方式:直接在命令行通过 nose2 命令运行。他会在python文件中查找名称以 test 开头的测试文件,并运行它发现的每个以 test 开头的测试函数名称。

比如说我的项目当中有 test_add.py, test_minus.py 这些文件,如果我想运行所有的测试用例,只需要在当前文件下输入 cmd 命令,他就会自动去查找所有的测试用例,然后去执行:

1,运行指定文件夹下的测试用例

我把登录相关的用例都放到一个叫 login_case 的文件夹当中,当我执行 nose2 -s login_case 的时候,其他的用例是不会执行的, nose2 只会去找 login_case 文件夹下面的用例。

2,运行指定的测试用例

在这个例子当中:

  • login_case 是存储的文件夹

  • test_nose2_dir 是文件名称

  • test_login 是测试用例方法的名称

每一个层级之间,用 . 号隔开。

如果想测试 test_nose2_dir.py 文件下的所有用例:

如果想测试 login_case 文件夹下的所有用例:

测试用例的命名

为什么 nose2 可以自动查找用例并且执行呢?

是因为他在内部制定了规则,然后根据规则去判定。

比如首先他规定,你所有的测试用例文件名称应该以 test 开头,如果你不这么做,那这个文件就不是测试用例文件。以下的文件名都会被判定为测试用例文件:

而这一些不会被判定为测试用例文件,从而被忽略:

总结

本篇我们介绍了 nose2 的简单入门:

  • nose2 是在 unittest 的基础上实现的,可以和 unittest 兼容,如果你没有接触过 unittest, 建议先从 unittest 学起,很多同学在网上看到一些说 unittest 过时或者是说 unittest 不高级的言论就开始批判,不对。 unittest 是 其他 python 单元测试框架的基础,没学好 unittest , 其他的框架你也学不好。

  • nose2 可以自动发现测试用例,你只需要运行 nose2 命令就可以,用起来非常简单。

  • nose2 的测试用例名称要符合规范,以 test 开头,否则不会被判定为用例。

  • 你可以通过 -s 运行指定文件下的用例,也可以通过 . 号去运行单个用例。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 3:58:17

EasyGBS卡存录像回放指南:SD卡格式化+录像计划配置两步走

最近碰到两个用户问了一模一样的问题,我觉得有必要跟大伙儿唠唠!之前有个用户,想在国标GB28181算法算力平台EasyGBS平台看设备端的录像回放,结果咋都看不到。一问才知道,他以为设备会默认录像,直接在平台看…

作者头像 李华
网站建设 2026/8/29 3:59:51

工业互联网平台:MGeo统一接入企业地理位置元数据

工业互联网平台:MGeo统一接入企业地理位置元数据 在工业互联网的数字化转型浪潮中,企业跨系统、跨地域的数据整合需求日益迫切。其中,地理位置元数据作为连接物理世界与数字孪生体的关键桥梁,承担着设备定位、供应链可视化、区域…

作者头像 李华
网站建设 2026/8/29 3:58:04

JAVA源码:同城外卖跑腿与团购到店全搞定

以下是一套基于JAVA的同城外卖跑腿与团购到店一站式服务系统的源码解析与实现方案,该方案融合了外卖、跑腿、团购、到店服务四大核心业务模块,支持多商户入驻、智能派单、国际支付等完整功能:一、系统架构后端框架:采用Spring Boo…

作者头像 李华
网站建设 2026/8/29 3:59:51

JAVA源码:同城自助KTV线上预约新体验

以下是一套基于JAVA技术的同城自助KTV线上预约系统源码方案,该方案整合了高并发处理、实时通信、智能调度、安全支付等核心能力,旨在为用户提供便捷、高效、安全的KTV体验,同时帮助商家优化运营效率:一、技术架构微服务架构&#…

作者头像 李华
网站建设 2026/8/29 3:59:26

大模型智能体(Agent)深度解析:从架构到实现(建议收藏)

文章详细介绍了大模型智能体(Agent)的概念与核心架构,包括感知、记忆、规划和行动四大模块。重点解析了LLM作为"大脑"的作用,以及短期记忆与长期记忆的实现机制,对比了ReAct和Plan-and-Solve两种规划模式,并分析了Agent…

作者头像 李华
网站建设 2026/8/29 3:59:26

10分钟搭建人体解析服务:M2FP镜像免配置,Flask WebUI直连

10分钟搭建人体解析服务:M2FP镜像免配置,Flask WebUI直连 🧩 M2FP 多人人体解析服务 (WebUI API) 在计算机视觉领域,人体解析(Human Parsing) 是一项关键的细粒度语义分割任务,旨在将人体分解为…

作者头像 李华