小编Jug*_*aut的帖子

我们应该如何用鼻子测试异常?

我用鼻子测试异常.这是一个例子:

def testDeleteUserUserNotFound(self):
    "Test exception is raised when trying to delete non-existent users"
    try:
        self.client.deleteUser('10000001-0000-0000-1000-100000000000')
        # make nose fail here
    except UserNotFoundException:
        assert True
Run Code Online (Sandbox Code Playgroud)

如果引发异常,则执行assert,但如果没有引发异常,则不会执行.

我可以在上面的注释行中添加任何内容,以便如果没有异常,则会报告失败吗?

python testing nose

31
推荐指数
4
解决办法
2万
查看次数

使用协同程序作为装饰器

在这种情况下:

async def foo(f):
    async def wrapper(*args, **kwargs):
        return f(*args, **kwargs)
    return wrapper

@foo
async def boo(*args, **kwargs):
    pass
Run Code Online (Sandbox Code Playgroud)

是调用foo作为boo装饰器和异步调用的装饰器?

--First Edit:另外如何处理作为装饰器的coroutines调用链?

python asynchronous python-3.x

15
推荐指数
2
解决办法
8896
查看次数

异步和等待方法的Python pytest案例

我正在尝试为以下异步编写pytest,等待方法,但我无处可去.

   class UserDb(object):
    async def add_user_info(self,userInfo):
      return await self.post_route(route='users',json=userInfo)

    async def post_route(self,route=None,json=None,params=None):
      uri = self.uri + route if route else self.uri      
      async with self.client.post(uri,json=json,params=params) as resp:            
      assert resp.status == 200
      return await resp.json()
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄这个吗?TIA

python pytest python-3.x async-await aiohttp

7
推荐指数
1
解决办法
1195
查看次数

有没有办法在 python 中使用异步构造函数?

有没有办法或技巧在Python中实现异步构造函数?我知道我们无法执行我在下面输入的操作,但我的意思是具有此功能的操作。如果不是,那么这背后不让它异步的概念是什么?提前致谢。

async def __init__(self, param):
    result = await my_method(param)

async def my_method(param):
    # do something async
Run Code Online (Sandbox Code Playgroud)

python asynchronous python-3.x python-asyncio

5
推荐指数
0
解决办法
6316
查看次数

redis 阻塞直到键存在

我是 Redis 的新手,想知道是否有办法await get通过它的键来ing 值,直到键存在。最小代码:

async def handler():
    data = await self._fetch(key)

async def _fetch(key):
    return self.redis_connection.get(key)
Run Code Online (Sandbox Code Playgroud)

如您所知,如果这样key不存在,那return就是None. 但是由于在我的项目中,setredis 的键值对发生在另一个应用程序中,我希望 redis_connectionget方法阻塞直到键存在。这样的期待真的有效吗?

python asynchronous redis python-asyncio

5
推荐指数
1
解决办法
6179
查看次数