1

我已经用谷歌搜索了这个,但没有运气。我只想看看如何在 Embedded-jetty 中加载我需要的所有服务以便能够在 JUnit 中进行测试的示例。所以,我的目标是这样的。


private String url = "SERVICE_URL";

@Before
public void before() {
   // start jetty with all the services I need
}

@Test
public void shouldDoSthIWant() {
   // invoke SERVICE_URL and test.
}

4

1 回答 1

1

此处找到的示例应用程序展示了如何在一个简单的 Java 应用程序中使用嵌入式码头运行 HttpInvoker。您应该能够调整该代码以使其在 junit 中工作。
http://code.google.com/p/jianwikis/wiki/SpringHttpRemotingWithEmbeddedJettyServer

从此处复制代码/配置的相关部分

Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(port);

Context context = new Context(server, "/", Context.SESSIONS);

DispatcherServlet dispatcherServlet = new DispatcherServlet();
dispatcherServlet.setContextConfigLocation("classpath:com/mycompany/config/DefaultServlet-servlet.xml");

ServletHolder servletHolder = new ServletHolder(dispatcherServlet);
context.addServlet(servletHolder, "/*")

DefaultServlet-servlet.xml

<!-- This default handler takes care of each of the services enumerated below -->
<bean id="defaultHandlerMapping"
    class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

<bean id="helloService" class="com.mycompany.service.impl.HelloServiceImpl"/>

<!-- SpringHTTP Service Exposure -->

<bean name="/HelloService"
    class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter"
    lazy-init="true">
    <property name="service" ref="helloService" />
    <property name="serviceInterface"
            value="com.mycompany.service.iface.HelloService" />
</bean>
于 2012-07-16T16:38:48.987 回答