package example;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Matchers;
import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
import com.google.gson.GsonBuilder;
import html.example.SpringDemoApplication;
import html.example.portal.data.MemberDto;
import html.example.portal.data.MemberEntity;
@WebAppConfiguration
@RunWith(SpringRunner.class)
@SpringBootTest(classes = { SpringDemoApplication.class, DataSourceAutoConfiguration.class,
MybatisAutoConfiguration.class })
public class MemberControllerTest {
@Autowired
protected WebApplicationContext context;
private MockMvc mockMvc;
@Before
public void before() {
// mockMvc = MockMvcBuilders.standaloneSetup(memberService).build();
mockMvc = MockMvcBuilders.webAppContextSetup(context).build();// 建议使用这种
}
@Test
public void testAddUser() throws Exception {
MemberDto dto = new MemberDto();
dto.setEmail("jis117@yahoo.com");
dto.setStatus(0);
String content = new GsonBuilder().create().toJson(dto);
mockMvc.perform(MockMvcRequestBuilders.post("/member/add").contentType(MediaType.APPLICATION_JSON_UTF8)
.content(content).
// param("username", "123.123").
// param("password", "456.456").
// param("status", "0").
accept(MediaType.APPLICATION_JSON)).andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andExpect(MockMvcResultMatchers.content().string(Matchers.contains("succ")));
}
public void test() {
MemberEntity member = new MemberEntity();
Assert.assertNotNull(member.getId());
}
}