- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有以下异步函数:
async def my_func(request):
# preparation code here
with aiohttp.ClientSession() as s:
with s.post(url, headers) as response:
status_code = response.status
if status_code == 200:
json_resp = await response.json()
elif:
# more checks
正在尝试测试,但仍未找到方法。
from asynctest.mock import CoroutineMock, MagicMock as AsyncMagicMock
@mock.patch("path_to_function.aiohttp.ClientSession", new_callable=AsyncMagicMock) # this is unittest.mock
def test_async_function(self, mocked_session):
s = AsyncMagicMock()
mocked_client_session().__aenter__ = CoroutineMock(side_effect=s)
session_post = s.post()
response_mock = AsyncMagicMock()
session_post.__aenter__ = CoroutineMock(side_effect=response_mock)
response_mock.status = 200
但没有按我想要的方式工作。任何有关如何测试上下文管理器的帮助将不胜感激。
最佳答案
愚蠢的我,找到了解决方案。我使用的是 side_effect
而不是 return_value
。效果非常好。非常感谢
关于python - 使用 asynctest 模拟 aiohttp ClientSession contextmanager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58429480/
假设我有以下没有 asyncTest 的代码 setTimeout(function(){ test ("test1", function(){ ok(true, "test1 works
我如何告诉 QUnit 将 asyncTest 期间的错误视为测试失败并继续下一个测试? 这是一个 QUnit 在 ReferenceError 后停止运行的例子:jsfiddle 最佳答案 异步测试
在 this post我问如何使用 qUnit 检查图像是否已正确加载。解决方案是使用 asyncTest,因为 error 事件处理程序是异步的。 现在,我尝试通过将其与 for 循环组合来重新使用
我在尝试设置 PhantomJS 时遇到了问题,因此我可以通过 Travis CI 对我的 JavaScript 项目进行持续集成。 基本上,即使是最简单的 asyncTest只是永远不会回来。使用
应该发生的是,当 add1 完成时,应该调用 add2,然后调用 add3,但是使用此代码它不起作用。 Add2 被快速调用,add3 也是如此。 asyncTest('add1', function
我正在使用 asynctest我想利用 pytest fixture。我对(但不仅限于)caplog fixture 感兴趣. 在 asynctest 测试类中,我可以使用 with self.ass
我有以下异步函数: async def my_func(request): # preparation code here with aiohttp.ClientSession() a
我是一名优秀的程序员,十分优秀!