你可以使用self.assertRaises作为异步上下文管理器吗?

时间:2016-09-14 13:59:42

标签: python unit-testing python-3.x python-asyncio

我想测试一个python 3 coro因特殊异常而失败,但这个功能似乎没有实现。

async with self.assertRaises(TestExceptionType):
    await my_func()

因为单元测试失败了:

...
File "/Users/...../tests.py", line 144, in go
    async with self.assertRaises(TestExceptionType):
AttributeError: __aexit__

所以我的问题是:这应该有效吗?如果不是,那么断言失败的异步函数的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

只需在with电话周围使用经典旧商品await

with self.assertRaises(TestExceptionType):
    await my_func()

有效。