Существует еще одна опция, называемая @EnableWebMvc / mockMvc, с помощью которой вы можете протестировать слой контроллера.
Ниже приведен фрагмент кода,
* * Класс TransactionsControllerTest реализует функциональность Junit, которая * простоподключитесь к уровню контроллера (TransactionsController) и протестируйте уровень контроллера * с некоторым заранее заданным значением / test.Этот класс также предоставляет * подробный результат для каждого теста.* * @author Sibsankar Bera * @version 1.0 * @since 2018-08-31 * / @RunWith (SpringJUnit4ClassRunner.class) @ContextConfiguration (classes = {TransactionsController.class, AppConfig.class, AppInitializer.class}) @Enable classWebMccTransactionsControllerTest {частный статический окончательный Logger logger = Logger.getLogger (TransactionsControllerTest.class.getName ());private MockMvc mockMvc = null;Строковые значения = ноль;
@InjectMocks
private WebApplicationContext wac;
/**
* This Junit test method assigns required resources value before use.
*/
@Before
public void setup() throws Exception {
values = TransactionConstant.AUTHORIZATION_CODE;
mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}
/**
* This Junit test method is used to test controller layer api,
* "/transactions/getAllTransactionList"
*/
@Test
public void getAllTransactionList_Test() {
try {
logger.info("Logger Name: getAllTransactionList_Test() :: " + logger.getName());
ObjectMapper mapper = new ObjectMapper();
MvcResult result = mockMvc.perform(get("/getAllTransactionList").header("authorization_code", values))
.andReturn();
JsonNode root = mapper.readTree(result.getResponse().getContentAsString());
JsonNode resultNodes = root.path("result");
logger.debug("Junit Response :: resultNodes :: getAllTransactionList_Test() :: " + resultNodes.asText());
assertEquals(resultNodes.asText(), "success");
} catch (Exception e) {
logger.error("Junit :: Exception :: getAllTransactionList_Test() :: ", e);
}
}