测试的过程执行器。
mirakuru的Python项目详细描述
米拉库鲁
mirakuru是为功能和集成测试而设计的流程编排工具。
也许你想在启动程序之前启动一个数据库 或者你只需要为你的测试设置额外的服务。 这是您应该考虑使用mirakuru向您的程序或测试添加超级能力的地方。
关于
在依赖多个进程的项目中,可能需要保护代码 使用验证进程间通信的测试。所以我们需要建立 需要数据库、辅助和应用程序服务来验证它们的合作。 将测试过程与被测试的过程同步(或编排)可能是一个地狱。
如果是,那么您需要的就是mirakuru。
mirakuru 启动您的进程并等待它运行的明确指示。 库提供七个执行器以适应不同的情况:
- SimpleExecutor -启动进程,不等待任何东西。 停止或终止进程及其子进程是很有用的。 所有其他执行者的基类。
- 执行器 -用于执行器验证进程是否已启动的基类。
- outputExecutor -等待进程打印指定的输出。
- tcpexecutor -等待通过TCP连接一个过程。
- UnixSocketExecutor -等待通过Unix套接字连接的能力 有一个过程
- httpexecutor -等待成功的head请求(以及之前的tcp)。
- pidexecutor -等待指定的.pid文件存在。
frommirakuruimportHTTPExecutorfromhttplibimportHTTPConnection,OKdeftest_it_works():# The ``./http_server`` here launches some HTTP server on the 6543 port,# but naturally it is not immediate and takes a non-deterministic time:executor=HTTPExecutor("./http_server",url="http://127.0.0.1:6543/")# Start the server and wait for it to run (blocking):executor.start()# Here the server should be running!conn=HTTPConnection("127.0.0.1",6543)conn.request("GET","/")assertconn.getresponse().statusisOKexecutor.stop()
执行程序生成进程的命令可以由字符串或列表定义。
# command as stringTCPExecutor('python -m smtpd -n -c DebuggingServer localhost:1025',host='localhost',port=1025)# command as listTCPExecutor(['python','-m','smtpd','-n','-c','DebuggingServer','localhost:1025'],host='localhost',port=1025)
作者
该项目首先由mateusz lenik开发。 作为"召唤"过程。 后来分叉,改名为"mirakuru",并倾向于由a room@ clearcode 其他作者
许可证
mirakuru 根据LGPL许可证第3版获得许可。
贡献和报告错误
源代码可从以下网址获得: clearcodehq/mirakuru 。 问题跟踪器位于github问题 上。 项目 pypi页面
投稿时,不要忘记将您的姓名添加到authors.rst文件中。