我有restcontroller,它在内部使用mongodb来持久化数据,现在我想编写junit测试用例,它不应该使用实际的数据库或后端mongoDB的集合。我想使用类似于H2的测试数据库。
我已经编写了以下代码,但不知道如何避免将其写入原始数据库的mongo中。
public class APiControllerTest extends AbstractTest {
@Override
@Before
public void setUp() {
super.setUp();
}
@Test
public void AddUser throws Exception {
User user = new User();
user.setName("junit");
String inputJson = super.mapToJson(user);
String uri = "/v1/createuser";
MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.post(uri)
.contentType(MediaType.APPLICATION_JSON_VALUE)
.content(inputJson)).andReturn();
int status = mvcResult.getResponse().getStatus();
assertEquals(201, status);
}
}