Pregunta

Tengo una aplicación ADF, que se ejecuta en mi servidor. Yo estaba tratando de ejecutar algunos casos de prueba de integración en ella. Solía ??usar Apache marco cactus para ejecutar las pruebas de aplicaciones web normales. Mis casos de prueba se extenderían CactusStrutsTestCase y se ejecute. He intentado acercarse, la aplicación ADF con el mismo concepto. Pero me estoy conexión de error negado

java.net.ConnectException: Connection refused: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)

Así que mi pregunta es que, ¿es posible hacer pruebas en la aplicación ADF con un ServletTestcase que forma parte del marco Cactus?

Gracias Jijoy

¿Fue útil?

Solución

Lo que está haciendo es posible. Lo sé, porque lo he hecho.

En primer lugar, una zanja genuina Apache Cactus. No está siendo apoyado más. Quiere descargar JSFUnit y utilizar en su lugar. Se hace uso de Apache Cactus, pero aún se mantiene activa.

Me sugieren crear su propio caso de prueba que se extiende ServletTestCase en lugar de utilizar directamente ServletTestCase.

public class EJBTestCase extends ServletTestCase {
protected InitialContext context;

public static final String userId = "demouser";


public EJBTestCase(String string) {
    super(string);
}

private InitialContext getInitialContext() throws NamingException {
  Hashtable env = new Hashtable();

  env.put(Context.SECURITY_PRINCIPAL, "username");
  env.put(Context.SECURITY_CREDENTIALS, "password");


     return new InitialContext(env);
}

public void setUp() throws Exception {
    super.setUp();

    context = getInitialContext();

}

public void tearDown() throws Exception {
    super.tearDown();

    context.close();
}

public EJBTestCase() {
    super();
}
}

A continuación, debe configurar su archivo web.xml:

  <filter>
    <filter-name>JSFUnitFilter</filter-name>
    <filter-class>org.jboss.jsfunit.framework.JSFUnitFilter</filter-class>
  </filter>
...

    <filter-mapping>
        <filter-name>JSFUnitFilter</filter-name>
        <servlet-name>ServletTestRunner</servlet-name>
      </filter-mapping>
      <filter-mapping>
        <filter-name>JSFUnitFilter</filter-name>
        <servlet-name>ServletRedirector</servlet-name>
      </filter-mapping>

...

  <servlet>
    <servlet-name>ServletRedirector</servlet-name>
    <servlet-class>org.jboss.jsfunit.framework.JSFUnitServletRedirector</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ServletTestRunner</servlet-name>
    <servlet-class>org.apache.cactus.server.runner.ServletTestRunner</servlet-class>
  </servlet>

...

  <servlet-mapping>
    <servlet-name>ServletRedirector</servlet-name>
    <url-pattern>/ServletRedirector</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ServletTestRunner</servlet-name>
    <url-pattern>/ServletTestRunner</url-pattern>
  </servlet-mapping>

Por último, al ejecutar los casos de prueba que debe pasar en el parámetro cactus.contextURL.

-Dcactus.contextURL=http://127.0.0.1:7101/MyApp

Asumo que está utilizando JDeveloper. A continuación, puede configurar esto bajo Propiedades del proyecto> Ejecutar / Depurar / Perfil -> Editar> Configuración de lanzamiento -.> Opciones de Java

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top