【发布时间】:2018-05-23 06:34:50
【问题描述】:
有什么方法可以检查通过另一个函数的参数传递的函数是否被调用?例如,
override fun updateWeight(value: Editable,
showEmptyError: () -> Unit,
showOutOfRangeError: () -> Unit,
dismissAlertDialog: () -> Unit,
updateAndShow: (Float) -> Unit) {
if (value.toString().trim().isEmpty()) {
showEmptyError()
} else {
val floatVal = value.toString().trim().toFloat()
if (floatVal > 300) {
showOutOfRangeError()
} else {
dismissAlertDialog()
updateAndShow(floatVal)
}
}
}
我需要用 value 参数的不同值测试上述方法并检查正在执行哪个方法?我尝试寻找答案,但找不到合适的解决方案。
【问题讨论】:
-
您是否可以控制在测试中将相应函数传递到 updateWeight 中?
-
@s1m0nw1 是的。我正在做一个具有 MVP 架构的应用程序,这是一个演示者功能。这个方法是从一个带有所需参数的 Activity 中调用的。
-
您可以通过 lambdas 为您的测试设置一些状态,然后您可以检查:stackoverflow.com/questions/49168588/…
标签: android unit-testing junit kotlin mockito