Skip to content

使用依赖注入进行测试

所需依赖项io.ktor:ktor-server-di

代码示例 server-di

依赖注入 (DI) 插件提供了简化测试的工具。

您可以在加载应用程序模块之前重写依赖项:

kotlin
fun test() = testApplication {
  application {
    dependencies.provide<MyService> {
      MockService()
    }
    loadServices()
  }
}

在上面的示例中,loadServices() 是引导应用程序模块的函数 — 例如,注册路由和服务的函数,相当于 application.yamlmodules 下列出的内容。

在测试中加载配置

使用 configure() 在测试中轻松加载配置文件:

kotlin
fun test() = testApplication {
  // 从默认配置文件路径加载属性
  configure()
  // 加载多个文件并进行重写
  configure("root-config.yaml", "test-overrides.yaml")
}

测试引擎会忽略冲突的声明,以便您可以自由重写。