utest是一个用于python的小型单元测试库。

utest的Python项目详细描述


写入v0 专用于cc0:https://creativecommons.org/publicdomain/zero/1.0/下的公共域。

#u测试

utest是一个用python进行单元测试的小型库。它通过PIP提供,便于分发。或者,可以将模块自由复制到项目中。除了python标准库之外,utest没有依赖项。

utest只支持python 3。模块本身是一个源文件,可以直接嵌入到任何项目中。它也可以在<;https://pypi.python.org/pypi/utest>;上找到。

#许可证

致力于公共领域。它是由乔治·金撰写和维护的。

#安装 $pip3安装utest

#用法

测试是作为独立脚本编写的,这些脚本调用各种utest函数。典型的调用如下: | Utest(预期的_值,fn_to_测试,arg0,arg1,kw2=arg2,…) | utest_exc(预期的_异常,fn_to_测试,arg0,arg1,kw2=arg2,…)

utest函数接受一个预期的返回值作为参数,后跟一个要测试的函数以及任意数量的位置参数和关键字参数。使用try块中提供的参数调用该函数,并将返回值与预期值进行比较。

true传递给lambda,并期望结果为true
utest(真,lambda b:b,真)

函数类似,只是它希望被测函数引发异常。由于python没有为异常实现值相等,因此utest_exc实现了它自己的异常比较,它比较预期异常和实际异常的异常类型和args属性。对这种比较的改进可能是必要的,因为异常类型可能会设置属性,并且无法将它们包含在args中。

调用假设的raise函数,期望有一个特殊的异常值。
utest(异常('expected'),需要raise)

除返回值转换为序列外,utest\u seq函数和utest\u exc函数与上述函数相同,对于utest\u seq函数,期望值也转换为列表。因此,这些函数可用于直接检查生成器或其他返回iterable的输出。请注意,utest-seq-exc是必需的,因为与utest-exc不同,它将消耗返回的iterable。 |最新序列([0,1],范围,2) |#调用假设的yield\u then\u raise函数,期望有一个特定的异常值。 |例外情况(预期),收益率上升,2)

utest_val可用于检查值。可以使用desc参数提供可选描述。 | u测试值((0,1),(0,1),“元组测试”)

usymetric接受上述最有用的函数和参数之一。它按原样将测试函数应用于参数,然后再次交换最后两个位置参数。因此,可以测试诸如二进制运算符之类的对称函数(以及最后两个参数可以自由交换的任何函数)的对称性。 |对称(utest,3,operator.add,1,2)

当不满足期望时,utest会将消息打印到stderr,并增加失败计数。当进程退出时,如果发生故障,则一个 ATEX/处理程序(由导入的UTestMead设置)打印一个摘要消息,并强制用状态1退出。

有关完整的docstring,请参见utest.py,有关更多示例,请参见测试。

##注意事项

< < > > > > > >< > >处理程序< > > > 请注意,Python 3.5.2中, AutoS//CITE >禁止“cTIT> SturtExt/cTe>”在处理程序中引发的异常,这是不幸的,因为这意味着UTestE必须使用“引用”。>退出> /cTIT>返回状态代码为1,从而绕过任何下级 >退出< /cTIT>处理程序。如果您的单元测试需要其他 ATEX/处理程序运行,那么请确保在测试过程的 > MyNo.< /CIT>文件的最顶层包含 UTest< /CITE >。

###参数名 \u test\u depth是唯一保留的参数名。不支持将此关键字参数传递给正在测试的函数,因为它还将传递给内部utest故障处理函数。

#测试utest

utest本身使用iotest进行测试,iotest是一个基于过程的集成测试工具。IoTest也可通过PIP获得: |$pip3安装iotest

要运行测试: |$iotest测试/

测试只是python脚本,也可以由它们自己调用。

#问题

请将问题提交给github存储库:<;https://github.com/gwk/utest>;。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用Spring和JSF向客户端授予临时权限   java除了Array/ArrayList之外,还有其他保存矩阵元素的方法吗   java BeanValidation不适用于单选按钮   通过java程序连接到配置单元数据库时出错   java如何使用maven解决二级依赖关系   JfreeChart/Java中带有图例的数据表   合并数组时发生java运行时错误   安全性如何在JavaEE中保护WebSocket端点?   java有没有一种方法可以使用insert方法为树插入值   java编程“静态”的另一种方式:代码可以吗?   java阅读文本文件时如何跳过3行   %04X在C中的含义以及如何在java中编写   java我如何验证一个方法不是仅在一个测试范围内对模拟调用的?   java如何在mac中使用启动appium desktop 1.6.1。球棒   仅匹配最多10位小数的java正则表达式