Почему Mockito с @MockBean возвращает неожиданный проход при запуске теста JUnit - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь понять, как создать MockBean для использования с Mockito. В моем случае у меня есть два отдельных класса, один из которых является @Controller, в котором я пытаюсь смоделировать другой тестовый класс @SpringBootTest Junit.

Но всякий раз, когда я запускаю Mockito как тестовый пример Junit, я получаю неожиданный результат, который равен pass , когда он действительно должен вернуть false ?

Мне не хватает какой-то конфигурации здесь?

Я приложил исходный код для обоих классов, чтобы показать вам:

Первый - это класс контроллера:

package com.springboot.test.testapplication;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {

@RequestMapping("/welcome")
public String welcome(Model map) {

    map.addAttribute("welcomeMessage", "welcome");
    map.addAttribute("message", "important message");

    return "welcome";
}


//Method I'm trying to get access to
public String return100() {
    return "100";
}

}

и это тестовый класс:

package com.springboot.test.testapplication;

import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;

@SpringBootTest
class TestapplicationApplicationTests {

@MockBean
private TestController controller;

@Test
void contextLoads() {

    Mockito.when(controller.return100()).thenReturn("2");

}
}

Любые советы будут высоко оценены ..

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