что означает Num * Obj в Споке - PullRequest
0 голосов
/ 11 июня 2019

Допустим, deleteInvocation=1, notDeletedInvocation=2

Означает ли это, что перед входом у меня будет 3 записи в массиве Post?

3 * postConverter.apply(Post, null) >> PostPayload

@Unroll
def "Verify PostCoreImpl.findById return  Post when includeRemoved: [#includeRemoved]"() {
    setup:
    def PostId = UUID.randomUUID()
    def Post = Mock(Post)
    def PostPayload = Mock(PostPayload)

    when:
    def actual = underTest.findPostById(PostId, includeRemoved, false, false)

    then:
    deleteInvocation * mockPostDataManager.findByIdincludeRemoved(PostId) >> Post
    notDeletedInvocation * mockPostDataManager.findById(PostId) >> Post
    3 * postConverter.apply(Post, null) >> PostPayload
    actual == PostPayload

    where:
    deleteInvocation | notDeletedInvocation | includeRemoved
    1                | 0                    | true
    0                | 1                    | false
}

1 Ответ

2 голосов
/ 11 июня 2019

Прежде всего, я бы советовал не использовать имена переменных, начинающиеся с заглавных букв, особенно если эти переменные идентичны реальным именам классов (!).Например, я бы изменил

def PostId = UUID.randomUUID()
def Post = Mock(Post)
def PostPayload = Mock(PostPayload)

на

def postId = UUID.randomUUID()
def post = Mock(Post)
def postPayload = Mock(PostPayload)

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


Что касается вашего вопроса, тозапись integerNumber * methodCall(...) на ложном или шпионском объекте означает, что вы хотите проверить, что methodCall(...) был вызван ровно integerNumber раз во время теста (проверка взаимодействия).

Пожалуйста, обратитесь к главе Спок«Взаимодействия» для получения дополнительной информации.

Обозначение integerNumber * methodCall(...) >> stubResult означает, что вы объединяете взаимодействия с заглушкой, т.е. указываете две вещи одновременно с ложным или шпионским объектом.

Пожалуйста, обратитесь к глава руководства Спока «Сочетание насмешек и окурков» для получения дополнительной информации.

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