有没有经过验证的方法对JSF-2.0组件进行嵌入式Web测试?

时间:2012-03-17 04:37:24

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

我知道'embedded'是一个过载的术语,特别是关于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();
    }
}

1 个答案:

答案 0 :(得分:0)

看起来嵌入式(嵌入式Tomcat等嵌入式方法)的最佳方式是使用Arquillianhttps://community.jboss.org/wiki/ArquillianIntegrationIdeas?_sscc=t