我有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-asyncio
和mymodule.py
event loop 不一样。
这可以通过移动import mymodule
到测试函数内部来解决,但我不喜欢这样做。
pytest 有没有办法在导入和执行测试代码之前修补默认事件循环?