2010-05-05 4 views
5

이미 존재하는 프로젝트에 대해이 작업을 수행했거나 시도 했습니까?
그것은 구성된 글래스 피쉬 v3을 사용할 수 (응용 프로그램 범위 자원이 더 쉽게 만들 것)로 설치 기대 embedded EJB API 기본적으로 다음의 클래스EJB 3.1 임베디드 API - 유닛 테스트 EJB + JPA 엔티티

javax.ejb.embeddable.EJBContainer 

를 사용하거나, 여기로가는 두 가지 옵션이있는 것 같다.

포함 된 글래스 피쉬 jar 파일과 embedded glassfish API

내가이 일을하는 과정에있다가 사람이나 다른 사람의 의견을 찾고, 간단한 EJB & 테스트 케이스와 블로그 등의 링크를 사용하는 대안 십센트 다스입니다.

다른 EJB 3.1 컨테이너에서이 작업을 수행했다면 언제든지 공유 할 수 있습니다.

  1. 원하는 도구 이외의 이유로 다른 테스트 프레임 워크를 사용 했습니까?
  2. 어떤 JPA 2.0 구현을 사용 했습니까? 특별한 이유가 있습니까?
  3. glassfish를 사용한 경우 위의 전략 중 어느 것을 사용 했습니까? 그렇지 않다면 어떤 EJB 3.1 컨테이너를 사용 했습니까?
  4. 성공적으로 수행 한 경우 노력할 가치가 있었으며 다른 기존 프로젝트에서이 작업을 다시 수행 하시겠습니까?

답변

4

그것은 구성된 글래스 피쉬 V3가 사용할 수 설치 기대 내장 된 EJB의 API (...)를 사용하거나, 여기로가는 두 가지 옵션이있는 것 같다.

아니요, 도 프로젝트 내에서 최소 도메인을 사용합니다.

내가이 일을하는 과정에있다가 사람이나 다른 사람의 의견을 찾고은 다스 한푼도 있습니다 간단한 EJB & 테스트 케이스와 블로그 등으로 연결합니다.

내가 Unit Testing EJBs and JPA with Embeddable GlassFish에서 영감을 (메이븐에서) 내 애완 동물 프로젝트에 EJB 3.1 및 JPA의 통합 테스트을했습니다. 그것을 읽는 것은 확실히 가치가 있습니다.

원하는 도구 이외의 이유로 다른 테스트 프레임 워크를 사용 했습니까?

아니요.

어떤 JPA 2.0 구현을 사용 했습니까? 특별한 이유가 있습니까?

EclipseLink를 사용했습니다 (당시 사용 가능했기 때문에).

위의 전략 중 어느 것을 사용 했습니까? 그렇지 않다면 어떤 EJB 3.1 개의 콘테이너를 사용 했습니까?

임베디드 EJB API를 사용 했으므로 사용할 수있을 때 다른 Java EE 6 컨테이너에서 코드를 실행할 계획이었습니다.

이 작업을 성공적으로 수행했다면 노력할 가치가 있었으며 다른 기존 프로젝트에서이 작업을 다시 수행 하시겠습니까?

글쎄, 나는 통합/기능 테스트 값이 있고 포함 된 EJB API를가 정말 좋은 것을 찾을 수 있다고 생각합니다. 실제 샘플로 샘플을 고려하지 않더라도 사용하는 것은 고통이 아닙니다.

더 복잡한 시나리오의 경우 maven-embedded-glassfish-plugin (this answer 참조)을 계속 주시합니다.

1

javax.ejb.embeddable.EJBContainer을 사용하여 단위 테스트 EJB 용으로 embedded glassfish 3.1을 사용하기 위해 small tutorial on my blog을 작성했습니다. 거기에 몇 가지 함정이 있는데, 나는 기본 글래스 피시 도메인을 수정하고 몇 가지 속성을 넣어서 createEJBContainer() 전화를 걸어왔다.

관련 문제