非常好用,绝对未来黑马的 Python 开源测试框架 PySimpleTest

非常好用,绝对未来黑马的 Python 开源测试框架 PySimpleTest

简单介绍

PySimpleTest 是一个非常简洁开源的python代码测试框架,作者是 https://github.com/Time-Coder?tab=stars

你可以在以下网站找到PyPI索引:https://pypi.org/project/PySimpleTest/

如果你正在为在rotot框架中写一个简单的for循环而苦恼,或者你正在为弄清楚如何在PyTest中调用fixture而苦恼的话,那么这个框架便是你最需要的。 PySimpleTest使用非常原生的Python语法和逻辑,让测试代码变得非常容易,其非常适合小型的测试项目。它有以下几个优点。

  1. 使用本地的Python编译器(不像pytest或robot框架),因此其非常容易安装和使用,并且没有繁杂的依赖。
  2. 只提供函数,没有类、fixture、装饰器或其他奇怪的东西,仅仅通过函数来实现所有的测试需求。
  3. 提供简单易用的断言系统,如should_become_true, should_keep_true。
  4. 提供非常好用的日志系统。你可以使用section, subsection, …来组织你的测试报告。
  5. 提供许多测试助手功能,如 "wait"带GUI进度条,“say” 来展示的字符串。
  6. 提供手动操作请求功能的函数,如 please 和 please_check。
  7. 有颜色的cmd输出,表示失败、通过、错误等。
  8. 带有链接信息的日志文件。如果你使用Sublime这样的编辑器,可以实现双击测试报告行,跳转到相应的代码。

简单应用

例如如下代码:

import PySimpleTest as pst

a = 2
pst.should_be_equal(a, 2)
pst.should_be_less(a, 1)

你将会得到如下输出,简洁明了,并且cmd输出都是着色的状态,非常直观和美观:

68747470733a2f2f73312e617831782e636f6d2f323032302f30382f31352f646b6f4866532e706e67

优点展示

断言功能

其提供了很多可以直接利用的函数,支持基本上所有的断言需求。

  • should_be_true(expression):
    If expression is True, it will print “Pass: () is True” and log in three output files. Else “Fail: () is False” will be printed and logged.
  • should_be_false(expression): Pass when expression is False.
  • should_be_equal(value1, value2): Pass when value1 == value2.
  • should_not_be_equal(value1, value2): Pass when value1 != value2.
  • should_be_less(value1, value2): Pass when value1 < value2.
  • should_not_be_less(value1, value2): Pass when value1 >= value2.
  • should_be_greater(value1, value2): Pass when value1 > value2.
  • should_not_be_greater(value1, value2): Pass when value1 <= value2.
  • should_be_approx(value1, value2, tolerance = 5, func = abs): Pass when func(value1-value2) <= tolerance.
  • should_not_be_approx(value1, value2, tolerance = 5, func = abs): Pass when func(value1-value2) > tolerance.
  • should_keep_true(expression, duration): Pass when expression keeps True for duration seconds. Try following example:

可以看出,上面的函数真的是所见即所得,会点英语的基本上都能看得懂这些函数是什么意思,怎么用。

日志系统记录功能

其日志系统可以生成测试报告,并且可以通过代码来控制报告的章节分布等。

比如如下所示的代码:

section("Test eval function")

section("eval single value", level = 2)
should_be_equal(eval("1"), 1)
should_be_equal(eval("1.2"), 1.2)
should_be_equal(eval("-3.6"), -3.6)
should_be_equal(eval("True"), True)

section("eval math expression", level = 2)
should_be_equal(eval("3 + 5*2"), 13)
should_be_equal(eval("(6-2)*5"), 20)

其生成的结果如下:

68747470733a2f2f73312e617831782e636f6d2f323032302f30382f31352f646b6f7877712e706e67

测试报告头部/尾部信息控制功能

这个框架可以定制报告的头部和尾部,并且对基本的测试结果进行汇总。

68747470733a2f2f73312e617831782e636f6d2f323032302f30382f31352f646b6f4c6c512e706e67

测试程序运行进程显示和提示功能

令我惊讶的是,其可以通过代码配置,仅仅几行代码便可以进行测试程序的进程显示,或者对某些手动的操作进行一些提示和等待。比如说对硬件进行测试,可能需要在测试程序执行到某些位置的时候,需要人工去拨动一个开关,那么程序在这个过程中是需要进行一个等待操作。而这个框架便可以弹出提示框对测试者进行有效提示,甚至进行声音提示!!!!

68747470733a2f2f73312e617831782e636f6d2f323032302f30382f31352f646b6f766d6e2e706e67

我已经迫不及待地想要将我的所有测试代码都转为使用这个框架了,绝对的YYDS,软硬件测试的终极杀器啊!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Volavion

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值