1

我有my_module.py我想测试的。

在模块顶级代码中,我有:

import asyncio
loop = asyncio.get_event_loop()
# code...

测试1.py:

import mymodule

@pytest.mark.asyncio
def test_mymodule(event_loop):
    await mymodule.func()

问题是测试冻结,因为设置的 event_looppytest-asynciomymodule.pyevent loop 不一样。

这可以通过移动import mymodule到测试函数内部来解决,但我不喜欢这样做。

pytest 有没有办法在导入和执行测试代码之前修补默认事件循环?

4

0 回答 0