AB
Size: a a a
AB
AB
ŹR
AU
AU
AU
AU
T
LL
common test
с эмуляторами браузеров и всего такогоT
ReceiveUpdateController.create()
- получает запрос от телеграмма с апдейтом, идёт в UpdateHandler.call(%{message: .... })
- передаёт туда message, а тот в свою очередь на основании этого вызывает MessageHandler.call(_, _, _, "/message_text")
- передав message_text, на основании которого вызовется тот или иной flow. И как-то мне не хочется в тестах на UpdateHandler.call и MessageHandler.call прогонять флоу. Был вариант просто сделать фейковый Flow и стучать в него по какому-нибудь сообщению в тестах, но решил сделать через моки.LL
ReceiveUpdateController.create()
- получает запрос от телеграмма с апдейтом, идёт в UpdateHandler.call(%{message: .... })
- передаёт туда message, а тот в свою очередь на основании этого вызывает MessageHandler.call(_, _, _, "/message_text")
- передав message_text, на основании которого вызовется тот или иной flow. И как-то мне не хочется в тестах на UpdateHandler.call и MessageHandler.call прогонять флоу. Был вариант просто сделать фейковый Flow и стучать в него по какому-нибудь сообщению в тестах, но решил сделать через моки.UpdateHander
слать тестовые сообщения?ReceiveUpdateController
- это просто то, что общается с телеграммом без логики, то зачем это тестироватьT
T
T
Task.start(fn -> expected_function(a, b, c, d) end)
- так он ловит, если ждёшь, что будет вызвана expected_functionTask.start(fn -> just_a_function(a, b, c, d) end)
- just_a_function
, которая внутри себя где-то вызывает expected_function - не работаетT
T
LL
T
LL
LL
Mox
была проблема с импортами, с apply
и прочим. Он вроде лезет в AST
модуля и на нём заменяет каждое MyModule.my_function
на mocked_function