bounty将在5天后过期。回答此问题可获得+50的声望奖励。Gabriel Cappelli希望吸引更多人关注此问题。
我一直在研究fastAPI,并有一些异步方法来生成auth令牌
编写单元测试时,我遇到以下错误:
TypeError: test_get_auth_token() missing 2 required positional arguments: 'test_input' and 'expected_result'
我的单元测试看起来像:
class TestGenerateAuthToken(IsolatedAsyncioTestCase):
"""
"""
@pytest.mark.parametrize(
"test_input,expected_result",
[("user", "user_token"), ("admin", "admin_token")],
)
@mock.patch("myaauth.get_token", new_callable=AsyncMock)
async def test_get_auth_token(self, get_token_mock, test_input, expected_result):
"""
Test get_auth_header
"""
def mock_generate_user_token(_type):
return f"{_type}_token"
get_token_mock.side_effect = mock_generate_user_token
assert await myaauth.get_token(test_input) == expected_result
我知道删除参数化就很简单,但我想知道是否可以这样做
1条答案
按热度按时间bihw5rsg1#
它与嘲弄无关。
原因是
pytest.mark.parametrize
与unittest.IsolatedAsyncioTestCase
不兼容。相反,您可以尝试使用
pytest
的插件,例如pytest-asyncio
,让pytest
与协程测试函数一起工作。第一个