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