java
  • Introduction
  • Patrones de DiseƱo
    • Builder Design Pattern
  • Java 8
    • Ordenar List
    • Optional
    • Gradle
    • filter
    • Lambda y Stream
  • Java 9
  • Java 10
  • Java 11
  • Java 12
  • Performance
  • Modularidad
  • GraalVM
    • Graalvm
  • JUnit
  • Apache Archiva
    • Apache Archiva
  • Dropbox APi
  • JVM Configuracion
    • JVM Configuration
    • NetBeans.conf
    • Glassfish
  • Data Science in Pure Java
  • Reflection
    • Call Methods at Runtime Using Java Reflection
  • LambdaMetaFactory
Powered by GitBook
On this page
  • Capitulo 2 JUnit EJB
  • Testing Calculadora
  • Agregar dependencias
  • Crear el Test
  • Testing Metodo String
  • Test

Was this helpful?

JUnit

PreviousGraalvmNextApache Archiva

Last updated 6 years ago

Was this helpful?

Capitulo 2 JUnit EJB

En este capitulo mostrare como hacer un Test de un EJB Basico.

Referencia

Testing Calculadora

En este capitulo mostrare como hacer un Test de un EJB Basico

Crear un proyecto EJB

Project Name: ejbtest

En el Servidor seleccionar GlassFish

Se crea el proyecto

Crear un Session Bean

Name: Calculator

Dar clic derecho y seleccionar Insert Code

Ahora seleccionar Add Business Method

En el Name:add

en Return Type: int

Agregar dos parƔmetros de tipo int a,b.

Genera el código

Modificar el mƩtodo add

 @Override
    public int add(int a, int b) {
        return a +b;
    }

Refactorizar la interfaz CalculatorLocal y colocarle el nombre de CalculatorRemote

Editar y cambiar la anotación @Local por @Remote

package com.avbravo.ejb;

import javax.ejb.Remote;

/**
 *
 * @author avbravo
 */
@Remote
public interface CalculatorRemote {
    int add(int a, int b);

}

Agregar dependencias

 <dependency>
            <groupId>org.glassfish.extras</groupId> 
            <artifactId>glassfish-embedded-all</artifactId> 
            <version>3.1.1</version> 
            <scope>test</scope>
        </dependency>

Crear el Test

Categories: Unit Test

File Types: Test for Existing Class

Seleccionar la clase Calculator

Se genera la clase CalculatorTest

package com.avbravo.ejb;

import javax.ejb.embeddable.EJBContainer;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 *
 * @author avbravo
 */
public class CalculatorTest {

    public CalculatorTest() {
    }

    @BeforeClass
    public static void setUpClass() {
    }

    @AfterClass
    public static void tearDownClass() {
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

    /**
     * Test of add method, of class Calculator.
     */
    @org.junit.Test
    public void testAdd() throws Exception {
        System.out.println("add");
        int a = 0;
        int b = 0;
        EJBContainer container = javax.ejb.embeddable.EJBContainer.createEJBContainer();
        CalculatorLocal instance = (CalculatorLocal)container.getContext().lookup("java:global/classes/Calculator");
        int expResult = 0;
        int result = instance.add(a, b);
        assertEquals(expResult, result);
        container.close();
        // TODO review the generated test code and remove the default call to fail.
        fail("The test case is a prototype.");
    }

}

Testing Metodo String

Podemos hacer un Test basico de un mƩtodo que devuelve un String

Clase App

package org.glassfish.embedded.samples;

import javax.ejb.Stateless;

/\*\*
 \* Hello world!
 \*/
@Stateless
public class App {
    public static String sayHello(String name) {
        return "Hello " + name;
    }
}

Test

Verificar que no sea null la clase, que devuelva el mensaje.

public void testEJB() throws NamingException {
        EJBContainer ejbC = EJBContainer.createEJBContainer();

        Context ctx = ejbC.getContext();

        App app = (App) ctx.lookup("java:global/classes/App");

        assertNotNull(app);

        String NAME = "Duke";

        String greeting = app.sayHello(NAME);

        assertNotNull(greeting);

        assertTrue(greeting.equals("Hello " + NAME));

        ejbC.close();
    }
https://www.youtube.com/watch?v=iFMxRTPO7FA
https://netbeans.org/kb/docs/javaee/javaee-entapp-junit.html
http://blog.payara.fish/testing-applications-with-payara-server-arquillian