Описание тега python-mock

Утилита тестирования, которая исправляет объекты с помощью пользовательского кода или данных.
3 ответа

Строгий макет в питоне

Есть ли какой-нибудь эквивалент строгих издевательств в питоне? Некоторый механизм для сообщения о непреднамеренном вызове фиктивных методов (action.step2() в этом примере), как в GoogleMock Framework. class Action: def step1(self, arg): return Fals…
08 июл '14 в 11:32
2 ответа

Утвердить последовательность вызовов для различных фиктивных объектов

Как я могу использовать Python mock библиотека, чтобы утверждать определенную последовательность вызовов к различным ложным объектам? Например, я хочу заявить: Вызов foo(spam, eggs); затем Вызов bar(beans, ham); затем Вызов foo(sausage), Я могу испр…
05 дек '14 в 00:32
1 ответ

Python 2.7 - не могу понять, как проверить с макетом

Новое в использовании макета. на питоне 2.7.13. я создаю оболочку вокруг этой библиотеки https://github.com/sendgrid/sendgrid-python/blob/master/sendgrid/sendgrid.py которая в свою очередь использует эту библиотеку для любых вызовов REST https://git…
1 ответ

Доступ к исправленному объекту в @classmethod

Я хотел бы установить побочный эффект для исправленного объекта в TestCase.setUpClass() метод, чтобы побочный эффект сохранялся в течение всего периода испытаний без необходимости устанавливать его для каждого теста с помощью setUp(), Как я могу пол…
0 ответов

Python макет патча метод в экземпляре класса

У меня есть проект, назначающий 2 конфига в моем главном __init__ файл, так как они часто используются на протяжении всего проекта. #__init__.py from config import Config config1 = Config('Email') config2 = Config('Test') Мой класс Config в config.p…
1 ответ

Нужно смоделировать поведение базового класса в тестовом примере Python

Мой заголовок довольно описательный, но здесь идет. Предположим, у меня есть эта настройка. class BaseClass(object): def __init__(self): pass def base_function(self, param="Hello World"): print param #multiple inheritance probably irrelevant but my …
11 дек '13 в 22:06
1 ответ

Утверждают, что * любой * атрибут был установлен

У меня есть фиктивный объект Python, и я хотел бы подтвердить, был ли установлен какой-либо атрибут этого объекта. Я не верю, что PropertyMock будет работать для моих целей, потому что я должен знать, был ли установлен какой-либо атрибут, а не конкр…
01 апр '14 в 16:49
1 ответ

Лучший способ исправления даты и времени в модульных тестах Django

Я использую домашний напиток datetime.datetime макет для исправления даты и времени по всему коду (см. в самом низу), но другие люди, похоже, сталкиваются с проблемами, понимая, как это работает, и сталкиваются с неожиданными проблемами. Рассматрива…
01 апр '14 в 13:35
1 ответ

Макетировать метод экземпляра с определенным возвращаемым значением?

У меня есть тестируемый метод, который выглядит так: def execute_update(self): """Execute an update.""" p = subprocess.Popen(['command'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) try: stdout, stderr = p.communicate() if p.returncode == 0: #…
08 апр '16 в 00:00
9 ответов

Насмешливый асинхронный вызов в python 3.5

Как смоделировать асинхронный вызов от одной родной сопрограммы к другой, используя unittest.mock.patch? У меня сейчас довольно неловкое решение: class CoroutineMock(MagicMock): def __await__(self, *args, **kwargs): future = Future() future.set_resu…
09 сен '15 в 12:54
3 ответа

Как издеваться над клиентом Redis в Python?

Я только что обнаружил, что куча модульных тестов не работает, потому что разработчик не смоделировал зависимость от клиента Redis в тесте. Я пытаюсь помочь в этом вопросе, но сам испытываю трудности. Метод пишет в клиент Redis: redis_client = get_r…
29 май '15 в 13:47
1 ответ

Как смоделировать список в Python?

Например, у меня есть код, который пытается получить доступ к списку: def some_code(): script_dir = os.path.dirname(sys.argv[0]) Мне надо издеваться sys.argv[0], Итак, я добавляю @patch.object к моему тесту: import os import sys THIS_DIR = os.path.d…
31 май '17 в 13:00
4 ответа

Библиотека макетов Python: есть ли способ получить соответствующие возвращаемые значения от вызовов магического макета?

При написании тестов Python с mock библиотека, я часто получаю "с какими аргументами вызывается метод", как это, from __future__ import print_function import mock m = mock.MagicMock(side_effect=lambda x: x * x) m(4) print("m called with: ", m.call_a…
02 авг '13 в 23:31
1 ответ

Пересмешивать многие, но не все функции в классе с помощью макета Python

Я пытаюсь проверить класс Python. Я хочу высмеять некоторые методы класса, но не все. Это может быть достигнуто достаточно хорошо с mock.patch, Моя проблема в том, что: Существует множество функций для исправления, так что это означает много вложенн…
1 ответ

Ошибка при попытке использовать `assert not mock.method.called`

Я пытаюсь утверждать, что метод не вызывается с помощью Python Mock. К сожалению, я не могу обойти эту ошибку: AttributeError: MockCallable instance has no attribute 'called' Я использую Python 2.7.1 и Python Mock 0.1.0 для своих тестов. Google гово…
1 ответ

Функция тестирования, вызываемая в объектном __init__

У меня есть класс, который выглядит так: class myClass(object): def __init__(self, arg1): self.arg1 = arg1 self.build_connection() def build_connection(self): if self.arg1 != 'foo': raise Exception('ohno') <more code that could potentially raise …
05 авг '15 в 18:22
0 ответов

Совместим ли read(n) с mock_open?

Есть ли способ использовать read(some_number_of_bytes) с mock_open? mock_open работает как положено при чтении всего файла (read()) или при чтении одной строки (readline()), но я не могу заставить его работать при чтении нескольких байтов (read(n)) …
23 окт '17 в 20:35
1 ответ

Можно ли смоделировать функцию так, чтобы один параметр всегда был установлен на указанное значение?

Например, предположим, у меня есть функция: def foo(var1, var2): print '%s, %s' % (var1, var2) Возможно ли использовать Mock или другой инструмент для временного переопределения функции, так что второе значение всегда устанавливается на какое-то зна…
09 июн '15 в 22:05
1 ответ

Подклассы MagicMock в питоне

У меня есть класс, который мне нужно патчить, который работает примерно так class Foo(object): def __init__(self, query): self._query = query def do_stuff(self): # do stuff with self._query Как бы я создал такой класс для Foo, чтобы foo = MockFoo(qu…
1 ответ

Как смоделировать / заменить класс списком

В основном я пытаюсь сделать это: class SeaLion(object): def __iter__(self): return self def next(self): ... def train(): sea_lion = SeaLion(...) for tooth in sea_lion: .. do something Тогда в моем тестовом файле я имею: class TestTrain(TestCase): @…