Как написать тестовый пример Junit для контроллера пружинной загрузки, который использует mongodb для сохранения данных - PullRequest
1 голос
/ 29 марта 2019

Я пытаюсь написать тестовые случаи junit для моего контроллера весенней загрузки.

У меня есть два API getUser и AddUser, эти API взаимодействуют с mongotemplate через dao, чтобы поместить данные в базу данных mongo и получить данные из базы данных mongo.

У меня есть класс MongoConfiguration (у него есть адрес сервера, пароль порта и т. Д.), Настроенный @Value по файлу свойств, который настроен через @ PropertySource

Шаблон

mongo создается с чтением деталей из класса @ Autowired mongoconfig.

когда я писал тестовый пример junit и тестировал, он использовал реальную mongoDB, которая была настроена для всех разработчиков через стандартный файл свойств, поэтому для моего тестирования я хочу использовать какой-то встроенный mongo для макета шаблона dong монго

Так, как избежать использования моего реального mongodb во время моих тестовых случаев junit

Это мой код ниже, который работает с фактическим DB

public class UserControllerTest extends AbstractTest {
   @Override
   @Before
   public void setUp() {
      super.setUp();
   }
   @Test
   public void createProduct() throws Exception {
       User user =  new User();
       user.setName("UnitTest");

      String inputJson = super.mapToJson(user);
      String uri = "/iot/user/createuser";
      MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(uri)
         .contentType(MediaType.APPLICATION_JSON_VALUE)
         .content(inputJson)).andReturn();

      int status = mvcResult.getResponse().getStatus();
      assertEquals(201, status);

   }
}
...