非常好用,绝对未来黑马的 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输出都是着色的状态,非常直观和美观:

非常好用,绝对未来黑马的 Python 开源测试框架 PySimpleTest_第1张图片

优点展示

断言功能

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

  • 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)

其生成的结果如下:

非常好用,绝对未来黑马的 Python 开源测试框架 PySimpleTest_第2张图片

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

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

非常好用,绝对未来黑马的 Python 开源测试框架 PySimpleTest_第3张图片

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

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

非常好用,绝对未来黑马的 Python 开源测试框架 PySimpleTest_第4张图片

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

你可能感兴趣的:(Python,python,开源,PySimpleTest,开源测试框架)