Mockk - MockKException при тестировании пароля с регулярным выражением - PullRequest
2 голосов
/ 27 июня 2019

Я только начал проводить юнит-тестирование в Котлине с использованием Mockk.Я пытаюсь проверить следующую функцию:

    fun evaluatePredicate(regEx: String, passwordInserted: String) : Boolean {
        return passwordInserted.matches(regEx.toRegex())
    }

Мой тест выглядит следующим образом:

    @Test
    fun evaluatePredicate_shouldContainLowerCase_trueExpected() {

        //given
        val regEx = ".*[a-z]+.*" //lower case
        val password = "password"

        every { password.matches(regEx.toRegex()) } returns true
        every { SUT.evaluatePredicate(regEx, password) } returns true

        //when
        val evaluate = password.matches(regEx.toRegex())
        val result = SUT.evaluatePredicate(regEx, password)

        //then
        assertEquals(evaluate, result)
    }

Но я получаю:

io.mockk.MockKException: Missing calls inside every { ... } block.

встрока:

every { password.matches(regEx.toRegex()) } returns true

Я пытался использовать Mockk Matcher any() вместо matches(regEx.toRegex()), но ничего не изменилось.

Я не уверен, что использую правильные инструментыдля работы здесь.Любые предложения приветствуются.

...