Сравнение целого числа с MagicMock не работает внутри юнит-теста в python - PullRequest
0 голосов
/ 09 мая 2018

У меня есть класс, который использует переменную класса, чтобы выбрать, какую логику выполнять.

#in file1:

class SomeHelper():
    def __init__(self):
        self.my_var = 0

#in file2: 
import file1
class MyClass():
    ...
    ...
    def calculate():
        inst = file1.SomeHelper()
        if x > inst.my_var:
           etc etc

Я пишу модульный тест и издеваюсь над SomeHelper () в другом файле:

from file 2 import MyClass
# tried both
@patch('file2.file1') OR @patch('file2.file1.SomeHelper')
def test_calculate(self, mock_helper):
    mock_helper.my_var = 0
    to_test = MyClass.calculate()

И я получаю следующую ошибку: TypeError: «>» не поддерживается между экземплярами «MagicMock» и «int». Я думал, что определил my_var после того, как я исправил модуль.

...