Насмешка над классом Peewe не возвращает значение - PullRequest
0 голосов
/ 13 января 2020

Макет класса peewe для макета атрибутов класса

models.py

import peewe

class A():
    human = CharField()


class B():
    first = CharField()
    second = ForeignKeyField(B, related_name="addresses")

test.py из патча импорта импорта mock

def build_A_model():
   var = models.A()
   var.human = "yes"

def build_B_model(A_fake_model):
   var1 = models.B()
   var1.first = "test"
   var1.second = A_fake_model
   return var1

@patch(models.A)
 class testing(unittest.TestCase):
     def test1(self, A_mock):
         A_fake_model = build_A_model()
         B_model = build_B_model(A_fake_model)
         expected = {
            "first": "test",
            "second": {
                "human": "yes"
            },
          }
         # some function to searlize B_model to json
         result = json_searlized_data
         self.assertEqual(expected, result)

Задача : Попытка смоделировать A_Model и B_model для получения желаемого ожидаемого результата:

Проблема: Класс Mock_A возвращает Magi c Mock () вместо возврата значения

Ошибка: человек: MagicMock name = 'xxxxx' id = '139670936802896' "

Вопрос: Как вернуть значение моделируемой модели class_A?

1 Ответ

0 голосов
/ 14 января 2020

Вы ничего не возвращаете:

def build_A_model():
   var = models.A()
   var.human = "yes"

Добавьте оператор возврата yo.

...