Koin-10-Testing(测试)
https://start.insert-koin.io/#/getting-started/testing
开始
Koin in 5 minutes (5分钟快速入手Koin)
Getting Started (开始)
Koin-test
项目能提供给你轻量但是强大的工具来测试你的Koin应用程序。
获取组件
只要用 KoinTest
标记你的测试类,你就可以解锁KoinComponent &测试特性:
by inject()
- 延迟注入一个实例get()
- 检索一个实例
按照以下来定义:
1 | val appModule = module { |
你就能像下面这样来写一个测试:
1 | class MyTest : KoinTest { |
你能使用 KoinTestRule
JUnit规则来开启或关闭你的Koin上下文:
1 | class MyTest : KoinTest { |
检查你的模块
我们可以使用Koin Gradle插件来让我们运行我们的模块检查:
1 | buildscript { |
按照如下来写检查测试:
- 使用一个JUnit
CheckModuleTest
类别 - 通过
checkModules { }
API来测试模块
1 |
|
让我们通过Gradle命令来检查我们的模块:
1 | ./gradlew checkModules |
或者
1 | ./gradlew checkModules --continuous |
动态Mock
Once you have tagged your class with KoinTest
interface, you can use the declareMock
function to declare mocks & behavior on the fly:
一旦你用 KoinTest
接口标记了你的类,你就能使用 declareMock
函数来动态声明mocks(模拟)或者behavior(行为):
1 | class MyTest : KoinTest { |
开始或停止测试
请注意在每个测试之间都需要通知你的Koin实例(如果你使用 startKoin
在你的测试中)。否则,请确保对本地koin实例使用 koinApplication
或 stopKoin()
来停止当前的全局实例。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小柯基!