Модульное тестирование spring mvc с помощью spring-test и junit

Я новичок в модульном тестировании с помощью spring-test. У меня есть приложение spring-mvc-rest. Я могу издеваться над окружающей средой, используя MockMvc.

Мой вопрос: нужно ли мне создавать объект MockMvc в каждом классе тестирования? Не будет ли это повторяющейся конфигурацией.

Есть ли способ определить это в одном классе и использовать его во всех классах тестирования?

Если мы выберем одну конфигурацию или несколько конфигураций, то какой из них лучше (по дизайну и обслуживанию)?


person Akshay    schedule 13.04.2016    source источник
comment
Вы можете создать построитель MockMvc, специфичный для вашего приложения, и делать все то, что является общим для всех ваших тестов.   -  person Stefan Birkner    schedule 13.04.2016


Ответы (1)


Это называется наследование

Например

Базовый класс

@ContextConfiguration(initializers = ConfigFileApplicationContextInitializer.class)
public class BaseTest
{

    protected MockMvc mockMvc;

    @Before
    public void setup()
    {
        mockMvc = MockMvcBuilders.standaloneSetup().build();
    }
}

Расширить

public class ExtendedTest extends BaseTest
{

     @Test
     public void test()
     {
       //execute test here we have access to the mockMVC
     }
}
person ndrone    schedule 13.04.2016