'test'에 해당되는 글 1

  1. 2011.12.06 EJB Test with EJBContainer of OpenEJB

EJB Test with EJBContainer of OpenEJB

- http://openejb.apache.org/examples-trunk/simple-stateless/README.html


- OpenEJB 4.0.0-beta-1 사용
모든 라이브러리를 포함시킨다.[각주:1]
package org.superbiz.stateless.basic;

import javax.ejb.Stateless;

@Stateless
public class CalculatorBean {

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

EJB 3.1에서 제공하는 EJBContainer를 이용해서 테스트한다. 
package org.superbiz.stateless.basic;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import javax.ejb.embeddable.EJBContainer;

import org.junit.Before;
import org.junit.Test;

public class CalculatorTest {

    private CalculatorBean calculator;

    /**
     * Bootstrap the Embedded EJB Container
     *
     * @throws Exception
     */
    @Before public void setUp() throws Exception {

        EJBContainer ejbContainer = EJBContainer.createEJBContainer();
        Object object = ejbContainer.getContext().lookup("java:global/PROJECT_NAME/CalculatorBean");
        assertTrue(object instanceof CalculatorBean);
        calculator = (CalculatorBean) object;
    }

    /**
     * Test Add method
     */
    @Test public void testAdd() {

        assertEquals(10, calculator.add(4, 6));
    }
    ...

- EJBContainer를 BeforeClass에서 하는게 좋을듯. 속도차이가 10배 정도 차이가 난다.
  1. 의존 관계가 복잡하므로 이렇게 하는게 정신건강에 이롭다. [본문으로]