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

0 ответов

Как я могу исправить метод и вернуть обратно входящие аргументы в pytest?

У меня есть вопрос о патче Pytest. Я не знаю, как я могу исправить метод, который выполняет сырой SQL . У меня есть общий метод получения результатов. def execute(query): with connection.cursor() as cursor: cursor.execute(query) return dictfetchall(…
17 май '19 в 15:04
0 ответов

Невозможно использовать attach_mock с фиктивной функцией autospec

Библиотечный модуль: # mod.py def foo(): bar1("arg1") bar2("arg2x", "arg2y") def bar1(x): pass def bar2(x, y): pass Тестовый модуль: # test_mod.py from mod import foo def test_foo(mocker): mock = mocker.MagicMock() mock.attach_mock(mocker.patch("mod…
29 май '19 в 19:46
1 ответ

Как использовать PropertyMock для возврата атрибутов ответа на запросы в модульном тесте pytest?

Я использую оболочку pytest-mock с pytest. Я не могу заставить PropertyMock работать с пакетом запросов. Вот пример функции, которую я пытаюсь выполнить модульным тестом: def get(): url = f'http://foo.bar/' response = requests.get(url) if response.s…
10 май '19 в 23:54
2 ответа

NonePytest - конструктор-пересмешник внутри конструктора

Все, У меня есть класс, похожий на этот. from mod import Bar class Foo: def __init__(self): self.obj = Bar() Как мне издеваться Bar конструктор, использующий pytest / pytest-mock? Я попытался следующее безуспешно. def test(): with mock.patch('mod.Ba…
15 июл '19 в 18:07
0 ответов

Метод самопознания

Я пытаюсь издеваться над собственным методом, используя pytest-mock. Просто мой класс получил функцию "расстояние", которую я хочу издеваться. Я хочу проверить мою функцию eq, как это: def __eq__(self, other): return self.distance() == other.distanc…
08 авг '19 в 11:03
1 ответ

Pytest макет объекта, возвращаемого через yield и проверяет, вызывается ли метод этого объекта

У меня есть кусок кода, который нужно проверить с помощью pytest def my_function(value): with some_generator() as gen: gen.some_method(value) Мне нужно проверить, был ли вызван some_method или нет. я использовал pytest-mock издеваться над методом so…
08 авг '19 в 14:42
1 ответ

Как пропатчить ключевое слово повышение (или возврат) Python для модульного тестирования?

Какое пространство имен для ключевых слов Python способно отлавливать mock.patch? Когда кто-то хочет открыть патч или распечатать mock.patch("builtins.open") или же mock.patch("mymodule.open") можно использовать, но это не работает, например, с rais…
01 июл '19 в 19:15
1 ответ

Python Mock Patch из другого файла / модуля

У меня есть макет, который работает нормально, как ожидалось. from mock import patch def second(arg): return 3 def first(): return second('arg') @patch('test.second') def test_test(second_mock): second_mock.return_value = 47 # We decide this call_it…
08 июл '19 в 20:00
0 ответов

Метод dataclasses.asdict каким-либо образом изменяет фиктивный объект

У меня странная проблема с классами данных Python, когда они связаны с фиктивными объектами. Ниже приведена моя база кода, и она организована в этой структуре каталогов: . ├── setup.py ├── src │ └── sample │ ├── app.py │ ├── configuration.py │ ├── _…
1 ответ

Как имитировать ошибки повышения urllib

Прочитав это в документах python, я улавливаюHTTPError а также URLError исключения в get_response_from_external_api что make_request_and_get_response (через urllibс urlopen колл) может поднять: foo.main.py from urllib.request import urlopen import c…
19 ноя '19 в 19:01
2 ответа

Проверка порядка звонков с помощью pytest-mock

Во фрагменте кода, показанном ниже, я хотел бы проверить порядок вызова функций в run() функция, т.е. f_3 называется после f_2 что называется после f_1: class TestMock: def f_1(self) -> None: pass def f_2(self) -> None: pass def f_3(self) -&gt…
27 авг '20 в 13:52
0 ответов

Как провести модульное тестирование или имитацию метода класса с помощью TensorFlow hparams

Я хочу либо смоделировать, либо написать модульный тест для метода класса, когдаhparamsМодуль в TensorFlow используется для передачи аргументов ключевого слова методу класса. Я просмотрел несколько вопросов и ответов здесь (в StackOverFlow) о том, к…
1 ответ

Создает ли tmpdir в pytest файл только тогда, когда мы в него записываем?

Когда я использую fp = tmpdir.join("hello.txt") в pytest, действительно ли pytest создает файл в моем временном каталоге или создает только тогда, когда я пишу fp.write("hello")?
11 май '20 в 23:22
1 ответ

не может издеваться над исключением с помощью pytest

Кажется, я не могу проверить исключение getopt. Вот очень упрощенный пример (основной файл): import sys, getopt def main(): try: options, _ = getopt.getopt(sys.argv[1:], 'h') except getopt.GetoptError: print("here I want to go") if __name__ == '__ma…
07 окт '19 в 07:08
0 ответов

Издевательство над psycopg2

У меня есть следующая функция в модуле, назовем ее importer.py def audience_mapping(): with psycopg2.connect(dbname=db, user=user, password=pass, host=host) as conn: with conn.cursor() as cur: cur.execute(QUERY) rows = cur.fetchall() from_db = {} fo…
08 авг '20 в 12:36
1 ответ

Менеджер контекста патча pytest-mock не восстанавливает объект при выходе

Недавно мы перешли с unittest на pytest. Я столкнулся со странной проблемой при использованииmocker.patchкак менеджер контекста. Рассмотрим следующий пример. module_a.py class MyClass: def value(self): return 10 module_b.py import module_a class Ano…
09 окт '19 в 00:13
3 ответа

Как смоделировать импортированный объект с помощью pytest-mock или magicmock

Я пытаюсь понять mock/monkeypatch/pytest-mock возможности. Сообщите мне, возможно ли это. Если нет, не могли бы вы подсказать, как я могу протестировать этот код. Моя структура кода: / ./app ../__init__.py ../some_module1 .../__init__.py ../some_mod…
14 окт '19 в 15:46
1 ответ

PropertyMock с изменением значений после каждого вызова

Я пытаюсь издеваться над psycopg2, и мне нужно обработать cursor.description # run query 1 column_names = [desc[0] for desc in cursor.description] # run query 2 # NB cursor.description now returns different value column_names = [desc[0] for desc in …
05 мар '20 в 06:39
0 ответов

Мокинг POST-запроса Flask с аргументами json с использованием pytest и pytest-mock

Я хочу протестировать ввод / вывод для запроса POST с помощью фляги и, возможно, по возможности высмеять оба результата. Для простоты я урезал большую часть логики. # extract.py import app # This is the main flask app. Just a basic setup. from flask…
31 мар '20 в 01:23
1 ответ

pytest-mock pathlib.Path.open

Мне нужно издеваться pathlib.Path.open с помощью pytest-mock. Реальность open_func открывает yaml-file. Возвращаемое значение - обычноеdict. Как я могу издеватьсяPath.open просто загрузить другой yaml-file называется test-config.yaml? Мой код не раб…