我有一个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服务器上运行单元测试?
答案 0 :(得分:2)
非回答:您不这样做。
长答案:单元测试是关于在隔离中测试单元。为了有用,您对外部的任何内容都进行了模拟/存根,例如:Web或应用程序服务器。
换句话说:应该为服务器为特定URL调用的代码编写真实单元测试。您可以编写一个体面的单元测试来确保:“当我被叫时,我检查该文件,如果没有,请创建它”。
然后,独立于任何Tomcat服务器进行测试。
然后,稍后,您可能需要测试您的端到端功能是否正常。但是,当然,您应该仅使用服务器本身必须提供的API。