Как выполнить модульное тестирование службы и контроллера (kotlin) в Cordapp? - PullRequest
1 голос
/ 07 августа 2020

Я просмотрел множество документов, чтобы получить образец службы модульного тестирования и контроллера в Cordapp, а не потоки (что уже сделано в документации Corda). Может ли кто-нибудь помочь мне получить пример cordapp, в котором реализовано модульное тестирование службы?

Ответы [ 2 ]

1 голос
/ 10 августа 2020

Попробуйте взглянуть на образец CordaService Autopayroll на github.

ссылка: https://github.com/corda/samples-java/tree/master/Features/cordaservice-autopayroll

Есть возможность доступа к зарегистрированным сервисам, которые используются здесь в код тестирования

//Test #1 check if the requestState is being sent to the bank operator behind the scene.
@Test
fun `dummy test`() {
    val future = a.startFlow(RequestFlowInitiator("500", b.info.legalIdentities.first()))
    network.runNetwork()
    val ptx = future.get()
    println("Signed transaction hash: ${ptx.id}")
    listOf(a, bank).map {
        it.services.validatedTransactions.getTransaction(ptx.id)
    }.forEach {
        val txHash = (it as SignedTransaction).id
        println("$txHash == ${ptx.id}")
        assertEquals(ptx.id, txHash)
    }
}

ссылка: https://github.com/corda/samples-kotlin/blob/master/Features/cordaService-autopayroll/workflows-kotlin/src/test/kotlin/net/corda/examples/autopayroll/FlowTests.kt

Удачи!

0 голосов
/ 24 августа 2020

Мы можем использовать модуль Mockito для имитации и стабинга, который требуется для сервисных функций и API модульного тестирования.

Эта ссылка будет направлять больше о том, как имитировать CordaRPCops на примере mockito. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...