【发布时间】:2020-08-17 12:41:19
【问题描述】:
如何解决 NullpointerException nodeInfoList.map { it.legalIdentities.last().name } 在使用 mockito 进行模拟测试时 nodeInfoList 属于 类型?
##待测试的服务代码##
val nodeInfoList=dataService.proxy.networkMapSnapshot()
val nodeNameList =nodeInfoList.map { it.legalIdentities.last().name }
ownerMap.map {
if(nodeNameList.contains(CordaX500Name.parse(it.value))) {
ownerList.add(it.key)
}
}
maintanenceMap.map {
if(nodeNameList.contains(CordaX500Name.parse(it.value))) {
maintainerList.add(it.key)
}
}
response["ownerList"] = ownerList
response["maintainerList"] = maintainerList
return ResponseEntity.status(200).body(response)
}
#我写的测试函数#
@Test(timeout = 300000)
fun ` get drop down data Test`() {
val cordaRPCOps = Mockito.mock(CordaRPCOps::class.java)
val listNodeInfoMock = Mockito.mock(listOf<net.corda.core.node.NodeInfo>()::class.java)
val singleMockNodeInfo = Mockito.mock(net.corda.core.node.NodeInfo::class.java)
val x500Name = CordaX500Name.parse("O=Building Owner1,L=Tokyo,C=JP")
val list500Mock2 = listOf(x500Name)
Mockito.`when`(cordaDataService!!.proxy).thenReturn(cordaRPCOps)
Mockito.`when`(cordaRPCOps.networkMapSnapshot()).thenReturn(listNodeInfoMock)
Mockito.`when`(listNodeInfoMock.map { it.legalIdentities.last().name }).thenReturn(list500Mock2)
Mockito.`when`(list500Mock2.contains(CordaX500Name.parse("O=Building Owner1,L=Tokyo,C=JP"))).thenReturn(true)
val dropDownData = staticDataService!!.getDropDownData()
println("dropDownData " + dropDownData)
}
【问题讨论】:
标签: java unit-testing kotlin mockito corda