Разница между create_autospec и MagicMock (спецификация)Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Разница между create_autospec и MagicMock (спецификация)

Сообщение Гость »


Я пытаюсь понять разницу в подходах к насмешкам. Например, у меня есть класс, который я не могу инициализировать, поскольку он зависит от другого сервиса.

класс SomeClass: def __init__(self, some_service): self.some_service = some_service асинхронная защита some_method(self, x, y): вернуть х + у И у меня есть функция, использующая этот класс

async def some_function(some_class: SomeClass, a, b): вернуть a * b + ждать some_class.some_method(a, b) Я хочу протестировать функцию some_function.

@pytest.mark.asyncio асинхронная защита test_some_function_with_create_autospec(): autospec_mock = create_autospec(SomeClass) autospec_mock.some_method = AsyncMock(return_value=10) результат = ожидайте some_function (autospec_mock, 2, 3) утверждать результат == 16 autospec_mock.some_method.assert_awaited_once_with(2, 3) Но я могу сделать то же самое, используя MagicMock

@pytest.mark.asyncio асинхронная защита test_some_function_with_magic_mock(): autospec_mock = MagicMock (спец = SomeClass) autospec_mock.some_method = AsyncMock(return_value=10) результат = ожидайте some_function (autospec_mock, 2, 3) утверждать результат == 16 autospec_mock.some_method.assert_awaited_once_with(2, 3) В чем разница и что мне следует использовать?

Я прочитал документацию, но все равно ничего не понял
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Спецификация имени Android не найдена в операторе С# с использованием
    Гость » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Гость
  • Спецификация InvalidDataAccessResourceUsageException после перехода с SpringBoot v2 на v3
    Гость » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Гость
  • Частичная спецификация шаблона
    Anonymous » » в форуме C++
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Keycloak CREATE TABLE APPLICATION_DEFAULT_ROLES выдает уже существующую ошибку
    Гость » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Гость
  • Есть ли какой-нибудь трюк, позволяющий ускорить загрузку файла фрагмента js, созданного с помощью приложения create-reac
    Anonymous » » в форуме Javascript
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»