Предположим, вы хотите протестировать функцию, требующую ввода, и другую, выводящую выходные данные. Для этого требуются два разных патча. Я создал два разных класса, но работает только один из них. Показанный пример кода хранится в одном файле, как показано ниже. Запускается только первый тест. Я попробовал запустить обе функции в одном классе и получил ошибку.
import unittest
from unittest.mock import patch
# Test IO functions
from Present import IO
class TestInputEmployeeData(unittest.TestCase):
@patch('builtins.input', side_effect=['Alice', 'Baker'])
def test_get_user_details(self,mock_input):
expected_output = {'firstName': 'Alice', 'lastName': 'Baker'}
result = IO.input_employee_data()
self.assertEqual(result, expected_output)
class TestOutputErrorMessage(unittest.TestCase):
@patch('builtins.print')
def test_output_error_message(self,mock_print):
IO.output_error_messages('Invalid input.')
mock_print.assert_called_once_with('Invalid input.')
if __name__ == '__main__':
unittest.main()
Подробнее здесь: https://stackoverflow.com/questions/792 ... in-a-singl
Можно ли запустить два модульных теста Python с разными исправлениями в одном файле? ⇐ Python
Программы на Python
1733300868
Anonymous
Предположим, вы хотите протестировать функцию, требующую ввода, и другую, выводящую выходные данные. Для этого требуются два разных патча. Я создал два разных класса, но работает только один из них. Показанный пример кода хранится в одном файле, как показано ниже. Запускается только первый тест. Я попробовал запустить обе функции в одном классе и получил ошибку.
import unittest
from unittest.mock import patch
# Test IO functions
from Present import IO
class TestInputEmployeeData(unittest.TestCase):
@patch('builtins.input', side_effect=['Alice', 'Baker'])
def test_get_user_details(self,mock_input):
expected_output = {'firstName': 'Alice', 'lastName': 'Baker'}
result = IO.input_employee_data()
self.assertEqual(result, expected_output)
class TestOutputErrorMessage(unittest.TestCase):
@patch('builtins.print')
def test_output_error_message(self,mock_print):
IO.output_error_messages('Invalid input.')
mock_print.assert_called_once_with('Invalid input.')
if __name__ == '__main__':
unittest.main()
Подробнее здесь: [url]https://stackoverflow.com/questions/79249857/is-it-possible-to-run-2-python-unitttests-that-have-different-patches-in-a-singl[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия