Создать юнит-тест для котлина с зависимостями - PullRequest
0 голосов
/ 06 декабря 2018

Мне нужно создать тест для методов Котлина.Я сделал очень простые тесты, как это, используя каркас спока:

def "test createSportUID"() {
    given:
    def expectetSportdUid = "s:120"
    when:
    def sportId = new UID(120, null, null, null, null, null, null, null, null).createSportUID()
    then:
    sportId.toString() == expectetSportdUid

}

def "IsSport"() {
    given:
    // Spy over nuestro SUT
    def uidMock = GroovySpy(UID) {
        isSport() >> true
    }
    when:
    def isSport = uidMock.isSport()
    then:
    isSport == true
}

Теперь мне нужно протестировать методы, которые имеют зависимости с другими bean-компонентами (я использую Spring), вот так:

override fun getClubhouseFor(context: ClubhouseContext): Single<Clubhouse?> {
    return staticClubhouseService.getClubhouseFor(clubhouseContext).flatMap { clubhouse ->
        if (clubhouse != null) return@flatMap Single.just(clubhouse)

        return@flatMap automatedClubhouseService.getClubhouseFor(clubhouseContext)
    }
}

Я пытаюсь выяснить, как я могу сделать это, используя каркас спока или другой подобный.

...