我正在使用Spring 4和Testng。当我根本没有安装像tomcat这样的servlet容器时,@ WebAppConfiguration如何无错误地加载WebApplicationContext和servlet。在这种情况下是否可以通过url访问servlet,或者必须安装Web服务器?
答案 0 :(得分:0)
您不需要安装真正的servlet容器。您可以认为#include <iostream>
int main()
{
std::cout << "Enter the number of rows for the pattern: ";
unsigned int numberOfRows{ 0 };
std::cin >> numberOfRows;
// Number of columns is always number of rows * 2 + 1
unsigned int numberOfColumns{ numberOfRows * 2 + 1 };
unsigned int positionOfDash{ 1 };
// Print the pattern
for (unsigned int row = 0; row < numberOfRows; ++row) {
for (unsigned int col = 0; col < numberOfColumns; ++col) {
// Output dash in desired column or else star
std::cout << (col == positionOfDash ? '-' : '*') << ' ';
}
positionOfDash += 2;
std::cout << '\n';
}
return 0;
}
创建的servlet容器只是一个基于内存的虚假servlet容器,而不是像Tomcat这样的真实容器。它只能通过以编程方式调用其方法来工作,而不能由URL调用。
这个假Servlet容器的实际实现由@WebAppConfiguration
,MockServletContext
,MockHttpServletRequest
,MockHttpServletResponse
和MockHttpSession
等组成。
这个想法是要测试MockServletConfig
,我们首先通过设置HttpServlet
的相关状态来配置HTTP请求,然后以编程方式调用受测试的MockHttpServletRequest
并验证结果来自HttpServlet
:
MockHttpServletResponse
有关更多详细信息,请参见docs。