Я пытаюсь исправить функцию представления в TestCase в django. У меня есть класс:Как издеваться над определенным методом класса на основе View без переопределения `self`?
class BaseView(View):
def _get_data(self):
self.attribute = self.fancy_stuff()
self.thing = self.do_other_stuff()
Мне нужно издеваться из self.attribute в пустой список, как:
_get_data_fake_function():
self.attribute = []
self.thing = True
Устранена проблема в том, что я в тесте, как:
class MyTests(TestCase):
def setUp(self):
self.view = BaseView
self.view_instance = self.view()
def test_stuff(self):
with patch(self.view) as mock_view:
?
Я боюсь, что self
собирается обратиться к экземпляру TestCase, и я смущен тем, как исправлять в части with patch(thing) as name
. Я мог бы исправить метод представления или вида экземпляра, но в любом случае я не знаю, как фальшивая функция правильно установит attribute
и thing
, а не тестовые примеры.
Вы попробовали исправление 'fancy_stuff', чтобы вернуть пустой список? –
попробовал это и понял, что мне нужно исправить обе вещи '_get_data' делает – codyc4321
Вы можете назвать эту переменную' self', что бы вы ни хотели. Это называется «я» - это просто конвенция. Если хотите, назовите его 'this', или' that', или 'whatever'. – poke