문제

Java EE 코드를 테스트하는 선호하는 방법을 요청하고 싶습니까?

Java EE 환경에서 단위 테스트를 코딩하는 데 도움이되는 3 개의 프로젝트 만 발견했습니다.

그래서 궁금해,

  • Java EE 코드에 대한 (j) 단위 테스트를 작성하는 데 도움이되는 프레임 워크가 있습니까?
  • Jboss 또는 Glassfish V3와 같은 임베디드 Java EE 서버를 사용하십니까?
  • 당신은 혼자서 모킹하고 주사합니까?

정말 감사합니다...

도움이 되었습니까?

해결책

만약 단위 테스트 당신은 ... 단위 테스트 (단위를 분리하여 테스트), EJB3.0은 주석이 달린 pojos에 지나지 않기 때문에 실제로 특정 프레임 워크가 필요하지 않으므로 특별한 고정물없이 비교적 쉽게 테스트 할 수 있습니다.

자, 당신이 다른 것을 의미한다면 - 좋아요 통합 테스트 또는 기능 테스트 - 그 다음에, , 도구는 사물을 단순화하고 단순화 할 수 있습니다 (그러나 실제로 올바른 용어를 사용하기 시작해야합니다. :) 이것이 당신이 생각한 것임을 가정합니다.

첫 번째, 주니트 죽고 쓸모없는 것처럼 보이며 EJB3.X에 대한 것이 확실하지 않습니다. 둘째, 나는 인상적이지 않습니다 Java EE 5 지원선인장 그리고 선인장 테스트를 배치 해야하는 것은 고통 스럽습니다 (선인장은 J2EE 1.4에게는 좋지만 지금은 약간 구식입니다). 그래서 이것은 우리를 떠납니다 ejb3Unit 제 생각에는 가장 좋은 선택입니다. 특히 실행을 원한다면 컨테이너 밖 실제로 응용 프로그램을 배포하지 않고도 테스트합니다 (훨씬 빠른).

달리기를 원한다면 컨테이너에서 테스트, 당신은 실제로 내장 된 컨테이너를 사용할 수 있고 내 현재 선호도는 Java EE 5의 경우에도 Glassfish V3에갑니다 (나는 잘못되었을 수도 있지만 최신 JBoss 릴리스의 시작 시간에 꽤 실망하여 얻지 못합니다. 내 관심의 대부분). 게시물을 참조하십시오 Glassfish Embedded Reloaded, 주머니에 appserver 샘플 코드 (테스트에서 사용할 수 있음) 또는 V3 Embedded Glassfish 용 Maven 플러그인 사용 (Maven을 사용하는 경우).

또 다른 옵션은 응용 프로그램을 패키지하고 배포하는 것입니다. 뱃짐 그런 다음 배포 된 응용 프로그램에 대해 일부 테스트를 실행합니다 (예 : Selenium 또는 BDD 도구 포함). 임베디드 API를 제공하지 않는 컨테이너로 엔드 투 엔드 테스트를 실행하려는 경우 유용 할 수 있습니다.

따라서 마지막 질문에 답하기 위해 실제로 사용 가능한 도구, 아마도 그 도구 조합을 사용하여 단위 테스트가 아닌 테스트를 위해, 내가 할 수있는 몇 가지 요구를 다루지 않는 경우를 제외하고는 단위 테스트가 아닌 물건을 사라지거나 주입하지 않을 것입니다. '지금 생각하십시오.

다른 팁

단위 테스트에 관심이 있으므로 Junit을 추천합니다. 핵심 클래스에서 메소드를 테스트 할 수 있습니다. Junit을 사용하여 단위 테스트 케이스를 작성하는 데 어려움이있는 경우 디자인이 모듈식이 아니며 결합되어 있습니다. 먼저 핵심 기능에 초점을 맞추고 Junit을 사용하여 테스트하십시오.

나는 Java EE 6 컨테이너 (Glassfish V3, 정확하게)의 Junit을 기반으로 한 통합 테스트를 실행하는 것과 동일한 문제에 직면 해 왔으며 많은 탐색 및 검색 후에 나에게 필요한 솔루션을 찾을 수 없었습니다. , 그래서 나는 내 자신을 썼다. Jeeunit Google 코드에서.

나는 이것을 테스트 프레임 워크라고 부르지 않을 것입니다. 실제로 주니트와 임베디드 유리 피쉬 사이에 접착제를 제공하는 소수의 수업 일뿐입니다.

일반적인 아이디어는 선인장과 유사하며 테스트는 컨테이너에서 실행되며 외부에서 서블릿에 의해 트리거됩니다.

JeeUnit은 Junit 4, Glassfish V3, CDI를 지원하고 Ant 또는 Maven Surefire와 같은 표준 XML Junit 보고서를 생성합니다 (실제로 보고서를 생성하기 위해 Ant의 일부 코드를 재사용했습니다).

CDI 애플리케이션을 테스트 해야하는 요구 사항이 있었고 웹 컨테이너 외부에서 모든 것을 실행하는 맞춤형 주니트 러너를 작성했습니다.

http://jglue.org/cdi-unit/

Java SE에 적합하며 웹 앱 테스트를위한 더미 요청, 세션 및 대화 범위도 지원합니다.

작고 빠르며 단위 테스트가 많을 때 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top