首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新启动twisted.trial._dist.disttria.DistTrialRunner?

如何重新启动twisted.trial._dist.disttria.DistTrialRunner?
EN

Stack Overflow用户
提问于 2021-09-08 08:40:39
回答 1查看 31关注 0票数 0

我尝试使用twisted.trial._dist.disttrial.DistTrialRunner作为运行程序,在某些情况下失败后,我想重新运行失败案例,但它没有重新启动并获得一个错误:

代码语言:javascript
复制
from twisted.trial._dist.disttrial import DistTrialRunner as Runner
runnerArgs = ({'workerNumber': 3, 'workerArguments': []})

for _ in range(3):
    RetCode, FailCases = Runner(**runnerArgs).run(suite)
    if RetCode == 0:
        exit(RetCode)
    else:
        suite = FailCases
exit(RetCode)
EN

回答 1

Stack Overflow用户

发布于 2022-07-20 13:21:37

使用runAsync而不是run

代码语言:javascript
复制
from twisted.trial._dist.disttrial import DistTrialRunner as Runner
runnerArgs = ({'workerNumber': 3, 'workerArguments': []})

async def runThreeTimes():
    runner = Runner(**runnerArgs)
    for _ in range(3):
        result = await runner.runAsync(suite)
        if result.wasSuccessful():
            exit(0)
        else:
            suite = compute_failures_from_result(result)
    exit(1)

# Run runThreeTimes, perhaps using Deferred.fromCoroutine
# Run the reactor, perhaps just by importing it and calling run() on it

这仍然需要compute_failures_from_result的实现,我已经忽略了这一点,因为使用TestResult接口显然是不可能的。但是,如果您向reporterFactory提供了一个备用的DistTrialRunner,那么您就可以实现一个更好地公开成功和失败并从中提取信息的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69099746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档