相关疑难解决方法(0)

在上下文管理器中,没有值的收益是什么

import contextlib
import time

@contextlib.contextmanager
def time_print(task_name):
    t = time.time()
    try:
        yield
    finally:
        print task_name, "took", time.time() - t, "seconds."


def doproc():
    x=1+1


with time_print("processes"):
    [doproc() for _ in range(500)]

# processes took 15.236166954 seconds.
Run Code Online (Sandbox Code Playgroud)

什么时候doproc在使用这个装饰器时被执行?

python yield generator contextmanager

13
推荐指数
2
解决办法
2892
查看次数

如何在 py.test 运行结束时获取 TestReports 列表?

我想在所有测试结束时获得所有测试的列表(例如以 py.test TestReport 的形式)。

我知道这pytest_runtest_makereport会做类似的事情,但仅限于一次测试。但是我想conftest.pypy.test应用程序终止之前实现一个钩子或其他东西来处理整个测试列表。

有没有办法做到这一点?

python pytest

5
推荐指数
1
解决办法
1861
查看次数

标签 统计

python ×2

contextmanager ×1

generator ×1

pytest ×1

yield ×1