如何将pytest插件挂钩到基于单元测试的类中?

时间:2015-11-10 08:40:45

标签: python python-3.x pytest python-asyncio

我的问题:我需要一种简单的方法将测试方法标记为协同程序。 (除其他原因外,我想最小化asyncio版本和原始代码之间的差异。)

以下代码有效 - test_one除外,它被忽略。

我查看了pytestpytest-asyncio的内部结构,虽然我(大部分)都了解它是如何将自己联系起来以增强简单测试功能的,但我无法理解如何用unittest方法做同样的事情。

那我该怎么做?

import unittest
import asyncio
import pytest

class TestSimple(unittest.TestCase):

    @pytest.mark.asyncio
    def test_one(self):
        print("One")
        yield from asyncio.sleep(0.2)
        print("Two")

    def test_two(self):
        print("Three")

def test_three():
    print("Four")

@pytest.mark.asyncio
def test_four():
    print("Five")
    yield from asyncio.sleep(0.2)
    print("Six")

1 个答案:

答案 0 :(得分:0)

无法使用本机pytest交错unittest样式。

如果您需要编写单元测试式测试,您可以使用装饰器,例如aioredis确实如此。