Документация также не завершена и содержит кучу заполнителей:
http://ktor.io/getting-started.html
Я пытался создать свою основную функцию таким образом, чтобы она принимала параметр (который является моей зависимостью), но на стороне тестирования при вызове это не удалось withTestApplication.
Я просмотрел код приложения и увидел, что приложение принимает объект конфигурации, но понятия не имею, как я могу изменить этот объект конфигурации, чтобы внедрить в него некоторые зависимости.
Код: Выделить всё
package org.jetbrains.ktor.application
/**
* Represents configured and running web application, capable of handling requests
*/
class Application(val environment: ApplicationEnvironment) : ApplicationCallPipeline() {
/**
* Called by host when [Application] is terminated
*/
fun dispose() {
uninstallAllFeatures()
}
}
/**
* Convenience property to access log from application
*/
val Application.log get() = environment.log
Код: Выделить всё
@Test
internal fun myTest() = withTestApplication (Application::myMain)
Обновление:
Проблема в том, что при обработке запроса я использую класс зависимостей, который подключается к другим веб-службам снаружи и выполняет некоторые запросы, мне нужен способ иметь возможность внедрите это, чтобы в своих тестах я мог заглушить/издеваться над ним и изменить его поведение на основе моих тестовых примеров.
Подробнее здесь: https://stackoverflow.com/questions/461 ... pplication
Мобильная версия