用于链接命令和增量检查结果的实用程序

assertionchain的Python项目详细描述


断言链[构建状态](https://travis ci.org/justiniso/assertionchain.svg)(https://travis-ci.org/justiniso/assertionchain)[![覆盖状态](https://coveralls.io/repos/justiniso/assertionchain/badge.svg?branch=master)(https://coveralls.io/r/justiniso/assertionchain?branch=master)


assertionchain是一组必须按顺序执行的命令的包装器。


met

简单的例子:

.do(lambda:1+1,两个数字相加)\
.expect(3,message='step“{step}”没有得到预期值{expected},值是:{actual}')\
.perform()

对于初学者来说,链
鼓励用户逐行提供有关正在执行的每个步骤的详细信息。因此,如果您想了解上述断言失败的原因,就必须构造一个详细的错误消息,指示实际值和预期值,以及生成实际值的步骤。这并不是特别困难:

val=1+1
message='添加1+1没有产生预期值{expected},值是:{actual}'。格式(
expected=expected,
actual=val

assert val==expected,message

,但是每次运行命令时都必须重复此操作会变得非常乏味。assertionchain提供了这个
api,用于对链中执行的每个操作执行增量检查,减少了用
来输入所有这些操作的开销。

例如,假设我们有一套与文件交互的函数(get_contents、write_contents、delete_file)。他们的合同规定
每个函数都将返回true、false或一个值,这取决于它们是否成功。我们可以使用
assertionchain来确保每个步骤都成功:

new\u contents='myfile'

.do(lambda:write_contents(filename,new_contents),“write file content”).expect(true,operator=”是“)\
.do(lambda:write_contents(filename,“),“write empty file content”).expect(true,operator=”是“)\
.perform()

删除文件
assertionchain().do(lambda:delete_file(filename),'删除文件').expect(true,operator='is').perform()

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

推荐PyPI第三方库


热门话题
如何使用泛型在Java中生成通用方法?   java从ISO/IEC 197944图像数据文件创建图像   java实现RSA的代码有什么问题?   javascript如何将JsonArray从解析云检索到安卓?   在vaadin中上传和下载java文件   java ListView自定义适配器OnClick启动URL链接   java在一个hbox中提供两个元素的独立对齐   java用类名创建类   java从unix命令行运行jar文件   java FTP下载在文件#146处停止