用这个自动化工具,让我写代码快了一倍(一)

发表于:2021-6-10 09:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:搜狗

#
Nose
  如果你学过 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 命令,他就会自动去查找所有的测试用例,然后去执行:

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

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

  运行指定的测试用例

  在这个例子当中:
  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 运行指定文件下的用例,也可以通过 . 号去运行单个用例。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号