JBehave와 Cucumber의 차이점은 무엇입니까?
나는 JBehave가 실제로 Cucumber에 상응하는 Java에 해당하는 반면 Cucumber는 Ruby를 기반으로한다는 것을 읽었습니다.
누군가가 그들 사이의 차이점을 설명 할 수있는 링크를 제공 할 수 있습니까?
JBehave와 Cucumber는 승인 테스트라는 동일한 목적을위한 것이지만 완전히 다른 프레임 워크입니다. 스토리 (JBehave) 또는 기능 (Cucumber)을 기반으로합니다. 기능은 특정 프로젝트 이해 관계자의 관점에서 표현 된 스토리 모음입니다. 테스트에서 일반적으로 정규식 일치를 통해 스토리를 참조합니다.
JBehave는 순수한 Java 프레임 워크 인 반면 Cucumber는 Ruby를 기반으로합니다. 둘 다 매우 성숙한 프레임 워크입니다. Maven 의 Cuke4Duke Maven 플러그인을 통해 Java의 Cucumber를 사용할 수 있지만 내부적으로 Ruby를 계속 사용하므로 언어 불일치가 있으며이 언어와 해당 인프라 (소위 'gems')를 머신에 설치해야합니다. 테스트를 실행합니다. 이것은 깨지기 쉽고 언어 불일치로 인해 디버깅이 복잡해지고 테스트 성능이 저하됩니다. 이제 Cucumber-JVM 이라는 Cucumber 의 순수 Java 구현이 있습니다. 2011 년 12 월 현재 아직 출시되지 않았지만 완벽하게 사용할 수 있습니다 (편집 : 버전 1.0.0은 2012 년 3 월 27 일 에 출시되었습니다 ).. 이 새로운 프레임 워크는 둘 다 네이티브 JUnit을 지원하므로 JBehave와 매우 유사합니다.
다음은 Cucumber-JVM과 JBehave를 비교 한 것입니다.
유사점 :
- 즉시 사용 가능한 JUnit 지원
- 순수 자바
- 빠른
- 사용하기 쉬운
JBehave의 장단점 :
- Pro 아주 좋은 문서
- Pro 테스트 결과의 꽤 좋은 HTML 형식
- Con 은 기능이 아닌 스토리 만 지원합니다.
Cucumber-JVM의 장단점 :
- Pro 지원 기능
- Con 병렬 JUnit 테스트를 지원하지 않습니다. 그러나 병렬 Maven 3 빌드에서는 작동합니다.
- 단점 문서
Con JUnit의 자체 형식 외에 테스트 결과에 대한 HTML 형식 지정 없음(편집 : Cucumber-JVM은 이제 HTML 출력을 지원함)
Java 프로젝트를 사용 중이라면 JBehave (훌륭한 문서를 찾고 있다면) 또는 Cucumber-JVM (대신 기능 또는 스토리 지원이 중요한 경우)을 권장합니다.
두 프레임 워크를 모두 시도하고 Cucumber-JVM을 선택했습니다.
Cucumber JVM은 위의 답변에서 언급했듯이 인기있는 Cucumber BDD 도구의 Java 구현입니다.
JBehave에는 선호도에 따라 BDD 도구를 미세 조정하기위한 많은 추가 구성이 있습니다. 그러나 이러한 구성은 매우 복잡합니다. 하루가 끝나면 우리는 Agile을 사용하고 업무에서 린이되는 것을 좋아합니다. 스스로에게 물어봐야 할 질문은 이러한 복잡한 구성이 워크 플로에 중요한 가치를 추가하는지 여부입니다. Cucumber 또는 JBehave와 같은 강력한 도구 없이도 BDD를하는 사람들을 보았습니다. 일부는 자체 도구도 만듭니다. 내 관찰에 따르면 BDD 도구가 필요하면 Cucumber가 필요한 거의 모든 기능을 갖추고 있습니다.
더 많은 통찰력을 얻으려면 저가 작성한이 블로그 기사를 읽을 수 있습니다. JBehave Vs Cucumber JVM : 비교 및 경험 공유
추신 : Stackoverflow는 도구에 대한 주관적인 질문을하기에 가장 좋은 커뮤니티가 아니라고 생각합니다. 어쨌든이 토론이 누군가에게 유용하기를 바랍니다.
아니요, 실제로 오이에 해당하는 Java는 Cucumber-JVM 입니다. 이 두 가지 유명한 BDD 프레임 워크의 차이점을 이해 하려면이 링크 를 확인해야 할 수도 있습니다 .
수락 된 답변에 따르면 JBehave 는 순수 Java이며 Cucumber 는 다양한 언어로 구현 된 일반화 된 BDD 프레임 워크이며 다양한 컨텍스트에서 테스트 프레임 워크로 사용할 수 있습니다-여기 https://docs.cucumber.io 참조 / 설치 / .
Java 프로젝트 용 BDD 프레임 워크를 구현하려는 경우 주로 JBehave와 Cucumber-JVM (Cucumber의 순수 Java 구현)을 비교해야합니다.
2017 년 7 월의 다음 최신 참조는 JBehave와 Cucumber-JVM을 비교하며, 현재 cucumber-jvm이 현재 일반적으로 JBehave보다 선호되고 있음을 나타냅니다 (현재 활동 및 사용량 측면에서). 여기에는 Cucumber-JVM이보다 적극적으로 유지 관리되고 있습니다.
이 기사는 또한 다음과 같은 결론을 내립니다.
내 이해에 따르면 JBehave는 수명주기의 성숙 단계에 있지만 Cucumber는 매일 멋진 새로운 기능으로 성숙 단계에 도달하고 있습니다.
이 기사는 다음 측면에서 Cucumber-jvm을 전반적으로 더 높게 평가합니다.
- 문서 및 커뮤니티
- 기능 (아래 메모 참조)
- 보고서
- GitHub의 인기도, 코드 품질 및 현재 활동
- StackOverflow의 활동
Note on features:
The article scores the Cucumber-JVM features more highly overall for the feature set that it compares, however the weighting that you may give to certain features will depend on your specific needs:
The article rates Cucumber-JVM higher for the following:
- IDE plugin (syntax highlighting)
- Formatting Flexibility
- Lambda Expression support
The article rates JBehave higher for the following:
- External Data support
- Composite Steps (this is rated as having low support in Cucumber-JVM, with the following explanatory notes):
-
Composite Steps are not a feature of BDD/Gherkin Standard.
-
... The major reason was, people who made use of this feature frequently ended up with messy automation code that was fragile and difficult to maintain.
The article rates jbehave and Cucumber-JVM the same for the following:
- Backgrounds and Hooks
- Binding to code (Annotations)
JBehave features:
https://jbehave.org/reference/stable/features.html
참고URL : https://stackoverflow.com/questions/7954755/what-are-the-differences-between-jbehave-and-cucumber
'program tip' 카테고리의 다른 글
Py_Initialize 실패-파일 시스템 코덱을로드 할 수 없음 (0) | 2020.12.01 |
---|---|
모듈은 어디에서 가져 오나요? (0) | 2020.12.01 |
.csproj 어셈블리에 대한 다중 힌트 경로 (0) | 2020.12.01 |
파이썬에서 int를 Enum으로 변환하는 방법은 무엇입니까? (0) | 2020.12.01 |
지연 로딩 vs Eager 로딩 (0) | 2020.12.01 |