古玩的pytest支持。
pytest-curio的Python项目详细描述
curio代码是以async/await的形式编写的,这使得它稍微多了一些 使用常规测试工具难以测试。pytest古玩提供了有用的 使测试更容易的装置和标记。
@pytest.mark.curioasyncdeftest_some_curio_code():res=awaitlibrary.do_something()assertb'expected result'==res
pytest古董受到pytest-asyncio的强烈影响。
功能
- 用于创建和注入古玩内核版本的设备
- 用于注入未使用的TCP端口的夹具
- 用于将测试视为古玩协同程序的pytest标记
安装
要安装pytest curio,只需:
$ pip install pytest-curio
这足以让皮特斯特拿起皮特斯特古玩。
固定装置
kernel
创建并注入默认curio内核的新实例。内核 将在测试结束时停止。
注意,仅仅使用kernelfixture不会使测试函数成为 协同旅行。您需要直接与内核交互,使用方法 就像kernel.run。有关处理测试的信息,请参见pytest.mark.curio标记 功能类似于协程。
deftest_http_client(kernel):result=[]asyncdefmy_coroutine(obj):result.append(obj)url='http://httpbin.org/get'task=kernel.run(my_coroutine(url))asserturlinresult
标记
pytest.mark.curio
用这个标记标记您的测试协同程序,pytest将作为 使用kernelfixture提供的内核的古玩任务。见 一个例子的介绍部分。