tomcat - 是否有行之有效的方法对 JSF-2.0 组件进行嵌入式 Web 测试?

标签 tomcat jsf-2 embedded-jetty web-testing

我知道“嵌入式”是一个重载的术语,尤其是对于 Java 世界中的 Web 组件。我用它来表示“完全在没有 xml 配置的 Java 类中完成”。下面是一个例子。

我的问题是 - 是否有行之有效的方法来对 JSF-2.0 组件进行嵌入式 Web 测试?我的意思是启动一个服务器并打开一个端口( Selenium 测试理论上可以连接到)。我对 Selenium 初创公司不感兴趣。

我想要的只是能够指向一个现有的 JSF-2.0 页面、一个现有的支持 bean,并在给定的端口上提供它。

最接近的似乎是 Jetty 中的这个页面:http://musingsofaprogrammingaddict.blogspot.com.au/2009/12/running-jsf-2-on-embedded-jetty.html

我希望 Tomcat 或 Glassfish 或其他库中有另一个示例可以更好地解释这一点。

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;

public class HelloHandler extends AbstractHandler
{
    public void handle(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response) 
    throws IOException, ServletException
    {
        response.setContentType("text/html;charset=utf-8");
        response.setStatus(HttpServletResponse.SC_OK);
        baseRequest.setHandled(true);
        response.getWriter().println("<h1>Hello World</h1>");
    }

    public static void main(String[] args) throws Exception
    {
        Server server = new Server(8080);
        server.setHandler(new HelloHandler());

        server.start();
        server.join();
    }
}

最佳答案

看起来最好的嵌入式方式(嵌入式意味着像嵌入式 Tomcat)是使用 Arquillian . https://community.jboss.org/wiki/ArquillianIntegrationIdeas?_sscc=t

关于tomcat - 是否有行之有效的方法对 JSF-2.0 组件进行嵌入式 Web 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747297/

相关文章:

gwt - 调度传入 RPC 调用时出现异常

java - 在 tomcat 7 中配置虚拟主机的问题

jsf - 如何更改 <p :calendar> language

jsf-2 - 从 facelets 1.1 迁移到 faclets 2.0 - FaceletViewHandler

jQuery CORS 请求因 FireFox 中的预检选项请求而终止

java - Jetty:默认的 servlet 上下文路径

java - 如何优雅地取消嵌入式 Jetty 中死锁的 WEB 请求

java - 如何在 Tomcat 6 中部署 war

jsf - JSF 2.0 中 Application#getResourceBundle() 和 ResourceBundle#getBundle() 之间的区别

java - 如何知道spring boot中嵌入了哪个tomcat版本