teste de unidade Java Servlet
1. resolver os pontos problemáticos
Embora o mainstream de métodos de desenvolvimento, muitos dos quais são fornecidos por controll ou serviço micro-api, mas não pode ajudar, mas ainda precisa de escrever vários servlet
desenvolvimento de interface completa. De acordo com a rotina, servlet
chamar o código camada de serviço, basta fazer o teste de unidade próxima camada de serviço muito bem. Mas aqui ignora o processo de teste pedido de parâmetros, de acordo com o passado, se você precisa de teste, muitas vezes, o primeiro a executar um tomcat, em seguida, encontrar uma desculpa para ferramentas de teste, testes de interface completa. na verdade, não existe tal problema, o uso spring-test
rapidamente se resolver o os seguintes pontos de dor
- cobertura de teste de unidade não é abrangente
- Não comece um servlet container
- A interface não requer ferramentas de teste de terceiros
2. implementação
Desde que está fazendo testes de unidade, primeiro precisamos introduzir no arquivo pom junit
e spring-test
duas dependências
<!--author:herbert wx:464884492-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${springVersion}</version>
<scope>test</scope>
</dependency>
Em seguida, declarar o código de teste de unidade, o que precisamos fazer teste de unidade servlet
objetos instanciar esse teste de unidade de carregamento de classe de objeto.
// author:herbert wx:464884492
public class DemoServletTest {
DemoServlet servlet = null;
@Before
public void setUp() {
servlet = new DemoServlet();
DOMConfigurator.configure("src/main/webapp/WEB-INF/log4j.xml");
}
}
Em seguida, adicione o método de teste específico, algumas pedido código simples completar um pacote.
// author:herbert wx:464884492
@Test
public void testReqImg() throws ServletException, IOException, InterruptedException {
JSONObject p = new JSONObject();
p.put("demoRequest", "herbert 通过spring-test 测试servlet");
MockHttpServletRequest request = new MockHttpServletRequest();
request.setContent(p.toString().getBytes());
MockHttpServletResponse response = new MockHttpServletResponse();
servlet.doPost(request, response);
while (true) {
Thread.sleep(200);
}
}
É a realização do princípio MockHttpServletRequest
e MockHttpServletResponse
, respectivamente, implementa a interface HttpServletRequest
e HttpServletResponse
, em circunstâncias normais, o recipiente automaticamente, de modo geral, não prestar atenção à implementação concreta dos conteúdos do desenvolvimento. Se você estiver interessado, pode alcançar seus próprios estas duas interfaces, testes de unidade completas.
3. Resumo
Conhecimento é pequeno, concentrando-se na acumulação de 0,2020 é obrigado a ser um ano extraordinário. Vamos lá !!
Bem-vindo amigos interessados preocupados com o meu número de inscrição, "um pequeno hospital não é pequena", Fanger Wei código ou preocupação cliques. I será dificuldades encontradas no desenvolvimento por muitos anos, bem como algumas características interessantes, a experiência será 11 de publicar o meu número de inscrição no