Неожиданное неудачное утверждение при изменении порядка Python Mocks при насмешней функции, которая импортирует другую вPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Неожиданное неудачное утверждение при изменении порядка Python Mocks при насмешней функции, которая импортирует другую в

Сообщение Anonymous »

Я внедряю тест для функции func1a () в module1.py с использованием марок. < /p>
Функция func1a () Вызовы: < /p>

Одна функция от module2.py: func2a () < /li>
One Function от Module1. /> < /ul>
Похоже, что порядок, в котором применяются макет, вводит неожиданные эффекты в моем тесте. < /p>
module2.py содержит: < /p>
def func2a()->None:
return None

< /code>
module1.py содержит: < /p>

from module2 import func2a

def func1a()->None:
func2a()
func1b()
return None

def func1b()->None:
return None
< /code>
Тест реализован таким образом: < /p>

from unittest.mock import MagicMock, Mock, call, patch
import pytest

@patch("module1.func1b")
@patch("module2.func2a")
def test_func1a(
mock_func2a:MagicMock,
mock_func1b:MagicMock,
)->None:
from module1 import func1a
mocks = ( mock_func2a,
mock_func1b,
)
mock_manager = Mock()
for mock in mocks:
mock_manager.attach_mock(mock, "mock_" + mock._extract_mock_name())

expected_calls = [
call.mock_func2a(),
call.mock_func1b(),
]
# When
func1a()

# Then
assert mock_manager.mock_calls == expected_calls
< /code>
и работает отлично.@patch("module2.func2a")
@patch("module1.func1b")
def test_func1a(
mock_func1b:MagicMock,
mock_func2a:MagicMock,
)->None:

< /code>
Я столкнулся с следующей ошибкой утверждения < /p>
assert [call.mock_func1b()] == [call.mock_fu...mock_func1b()]

At index 0 diff: call.mock_func1b() != call.mock_func2a()
Right contains 2 more items, first extra item: call.mock_func2b()
< /code>
Я подозреваю, что это может быть из -за порядка, в котором применяются макет. В частности, я думаю, что это связано с тем, что я издеваюсь над функцией, которая импортирует другую функцию, а также высмеивает эту функцию одновременно.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ing-functi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Неожиданное неудачное утверждение при изменении порядка Python Mocks при насмешней функции, которая импортирует другую в
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Внедрение Mocks для объектов, созданных классами Factory.
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Внедрение Mocks для объектов, созданных классами Factory.
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Rhino Mocks Ref Param ограничение
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Инициатор Spring Boot Mocks перед введением их
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

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