тест currentBuild.changeSets - PullRequest
       7

тест currentBuild.changeSets

0 голосов
/ 18 октября 2018

Я хочу написать модульный тест для аналогичного метода, как показано ниже.Моя главная проблема - структура объекта changeSets.

Mockito.doReturn([changeSets:[item:[[author: 'author', msg: 'msg']]]])

Как мне подготовить правильный объект в doReturn?Entires должен иметь длину, а не size (), как указано выше.Что такое className для объекта entires?

@NonCPS
def getChangeString() {
    MAX_MSG_LEN = 10
    def changeString = ""

    echo "Gathering SCM changes"
    def changeLogSets = currentBuild.changeSets
    for (int i = 0; i < changeLogSets.size(); i++) {
        def entries = changeLogSets[i].items
        for (int j = 0; j < entries.length; j++) {
            def entry = entries[j]
            truncated_msg = entry.msg.take(MAX_MSG_LEN)
            changeString += " - ${truncated_msg} [${entry.author}]\n"
        }
    }

    if (!changeString) {
        changeString = " - No new changes"
    }
    return changeString
}

Как я могу войти во второй цикл?

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