我有一个包含以下属性的Kotlin类
private var items: List<Item> = listOf()
在测试中,我现在要检查列表中是否有项目。我尝试通过反射来做到这一点:
val field = sut::class.members.findLast { f -> f.name.equals("items") }
我现在得到了一个KCallable <*>,但是我不知道如何访问或至少计算列表中的项目。
答案 0 :(得分:1)
您获得的KCallable
实际上是KProperty1
的实例,您可以调用其get
方法来获取实例:
val items = (field as KProperty1<ClassUnderTest, List<Item>>).get(sut)