В соответствии с Kotlin Unit Testing for Function Parameter and Object мы можем проверить функциональную переменную funcParam
, так как это переменная функции объекта.Kotlin Аноним Функция Параметр Тестирование модуля
Однако если код написан с использованием параметра функции анонимного/встраивания (который является очень приятной особенностью Котлина, что позволит нам исключить ненужную переменную температуру для него) ...
class MyClass1(val myObject: MyObject, val myObject2: MyObject2) {
fun myFunctionOne() {
myObject.functionWithFuncParam{
num: Int ->
// Do something to be tested
myObject2.println(num)
}
}
}
class MyObject() {
fun functionWithFuncParam(funcParam: (Int) -> Unit) {
funcParam(32)
}
}
Как написать мой блок тест, проверяющий эту часть кода?
num: Int ->
// Do something to be tested
myObject2.println(num)
Или встраивание параметра функции (как описано выше) является то, что не хорошо для модульного тестирования, и, следовательно, следует избегать?