在Tomcat服务器上运行Java Servlet单元测试

时间:2019-12-12 12:32:32

标签: java unit-testing tomcat servlets

我有一个Java HttpServlet。当我们向该Servlet发送get Request时,它将检查服务器中是否存在文件。如果没有创建新文件。

我想写一些单元测试。发送get请求时,断言新文件已创建。 我的问题是我的测试在本地计算机上运行,​​而不是在本地服务器上创建的Tomcat服务器和临时文件。

这是我的代码:

    HttpGet httpGet = new HttpGet("localhost:8080/myfilename");
    HttpClient httpClient = HttpClientBuilder.create().build();
    httpClient.execute(httpGet);

    File directory = new File("myfilename");

    // then
    assertTrue(directory.exists());

如何在tomcat服务器上运行单元测试?

1 个答案:

答案 0 :(得分:2)

非回答:您不这样做。

长答案:单元测试是关于在隔离中测试单元。为了有用,您对外部的任何内容都进行了模拟/存根,例如:Web或应用程序服务器。

换句话说:应该为服务器为特定URL调用的代码编写真实单元测试。您可以编写一个体面的单元测试来确保:“当我被叫时,我检查该文件,如果没有,请创建它”。

然后,独立于任何Tomcat服务器进行测试。

然后,稍后,您可能需要测试您的端到端功能是否正常。但是,当然,您应该仅使用服务器本身必须提供的API。