是否有支持单元测试共享的模式/技术"启动流程"已经在"共享cordapp.jar"中实现的有多个相应的私人"响应流"每个都是在自己的私人聚会名称cordapp.jar"中实现的。 ?希望这个问题有道理。 术语按Can either side of a Corda flow exist in separate Cordapps?列出。 感谢所有信息。 约翰
答案 0 :(得分:0)
不确定。您只需定义一个虚拟响应流并将其作为启动流注册到每个节点上:
@InitiatedBy(MyInitiator::class)
class MyTestResponder(val counterpartySession: FlowSession) : FlowLogic<Unit>() {
@Suspendable
override fun call() {
// Implement flow logic here.
}
}
class FlowTests {
lateinit var network: MockNetwork
lateinit var a: StartedNode<MockNode>
lateinit var b: StartedNode<MockNode>
@Before
fun setup() {
setCordappPackages("my.package")
network = MockNetwork()
val nodes = network.createSomeNodes(2)
a = nodes.partyNodes[0]
b = nodes.partyNodes[1]
nodes.partyNodes.forEach {
it.registerInitiatedFlow(MyTestResponder::class.java)
}
network.runNetwork()
}
@After
fun tearDown() {
network.stopNodes()
unsetCordappPackages()
}
@Test
fun `example test`() {
val flow = MyInitiator(b.info.chooseIdentity())
val future = a.services.startFlow(flow).resultFuture
network.runNetwork()
future.getOrThrow()
}
}