У меня есть функция, которая вызывает операционную систему и получает данные в реальном времени, так что каждый раз, когда вызов выполняется, результаты будут разными. Функция, которая делает вызов, вложена за пять вызовов функций, то есть стек вызовов находится на пять уровней до того, как будет выполнен вызов ОС.Тестирование модуля с внутренним процессом вложенным в структуру кода: Elixir
Для проверки функции верхнего уровня нужны повторяемые результаты. Два способа проведения тестирования приходят на ум ... 1. Добавьте дополнительный параметр к каждому из пяти вызовов функций и передайте «вызов в операционную систему» в качестве функции. Затем для модульного теста вызов функции операционной системы заменяется функцией, которая возвращает статический текст.
2. Сделайте приложение осведомленным о тестах, а функция ОС вернет статический текст, если он запущен в тестовой среде. (Я не знаю, как это сделать)
Хотелось бы узнать; что такое рекомендуемый метод эликсира тестирования серверного процесса, который глубоко вложен в структуру кода?
Моты могут быть одним из способов реализации моей «опции 2.». выше. – steve77
@ steve77 - вся идея насмешки заключается в том, что вы можете протестировать приложение _without_, осознавая это испытание. –