测试帮助程序库,用于编排并行进程以对其状态进行断言

pyvaldi的Python项目详细描述


这个库将帮助您测试没有理想体系结构的系统。

如果您有一个数据库服务器,以及多个连接到它的其他节点,同时更改状态,那么您知道对这种情况进行推理是多么烦人。

当然,您的体系结构应该得到改进(如果可能的话),但是这个库使得对这样一个系统的状态进行断言变得更加容易。

为此,我使用了3个概念:starterscheckpointsrunners

starters类似于线程。他们将开始一系列的行动。换句话说,他们会得到一个可调用的对象并用一些参数调用它。这个可调用的表示您正在测试的进程。

checkpoint表示一个测试进程生命周期中的快照。如果已执行到该逻辑点的所有操作(有用的示例:所有事务都已提交或仅启动-为了测试系统一致性,已发送所有http请求并已接收响应,或者更一般地,已调用所有方法,直至该点),则认为已达到检查点。

runner将并行运行您的进程(由启动器表示)。它还必须知道在这些进程的生命周期中检查点应该被击中的顺序。如果有必要,它将暂停进程,以确保按正确的顺序命中检查点。 当运行程序暂停时,您可以对系统的状态进行断言(检查数据库或任何其他相关的有状态系统)。然后,您可以手动恢复运行程序,以运行到下一个检查点、跳到特定检查点或运行到所有进程完成为止。

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

推荐PyPI第三方库


热门话题
swing Java按钮/网格布局   java列出Google日历中的所有事件   java无效:单击API publisher test按钮后连接到后端时出错   带有内部赋值的java While循环导致checkstyle错误   java为什么trimToSize/ensureCapacity方法提供“公共”级访问?   文件输出流的java问题   ListIterator和并发修改异常的java问题   java如何使用两个URL映射   无法识别使用“./../”构造的字符串java相对路径,为什么?   首次写入remotelyclosedsocket不会触发异常,对吗?JAVA   java OneDrive REST API为文件上载提供了400个无效谓词   Java泛型、集合接口和对象类的问题   OpenSSL Java安全提供程序   jmeter java运行jmx禁用操作