单元测试是一个必不可少的技能
引入必要依赖
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:rules:1.3.0'
// testImplementation 'androidx.test.ext:junit:1.1.2'
testImplementation 'androidx.test.espresso:espresso-core:3.3.0'
然后我们编写测试函数
import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
@RunWith(AndroidJUnit4ClassRunner::class)
class ExampleInstrumentedTest {
// 测试数据库连接
@Test
fun getAllResult(){
// 获取context对象
val context = InstrumentationRegistry.getInstrumentation().targetContext
// 测试函数是否有效
val alarms = AlarmDatabase.getAllAlarm(context)
for (alarm in alarms){
println(alarm.title)
}
}
}
注意这种的测试文件放在androidTest文件夹里面,不用放错位置了,测试成功后结果会在模拟器上输出,不是在单元测试哪里
普通的逻辑单元测试:什么也不用做,挺简单的
class ToolTest {
@Test
fun testTime2String(){
// 测试时间转换
println(Tools.time2String(Date()))
}
}