2010-05-03 7 views
3

저는 BlackBerry 응용 프로그램과 함께 사용할 수있는 code coverage 도구를 찾고 있습니다. 유닛 테스트를 위해 J2ME-Unit을 사용하고 있으며, 테스트 결과 내 코드가 얼마나 많은지보고 싶습니다.BlackBerry 용 코드 커버리지 도구

나는 Cobertura for J2ME을 사용해 보았지만 그 결과로 아무런 결과도 얻지 못했습니다. (나는 계측기가 RAPC 편집에 의해 완성되지 않았다고 믿는다). 그리고 this message에도 불구하고, 프로젝트는 죽은 것 같습니다.

나는 JInjector을 보았지만, 프로젝트는 이라고 매우 불완전합니다. 문서가 거의없는 경우 (해당되는 경우) 클레임은 BlackBerry 프로젝트에서 작동 할 수 있지만 에는이 사용 된 곳이 없습니다. 나는이 프로젝트와 함께 꽤 놀았지만 아무 소용이 없었다.

Eclipse를 개발 용으로 사용해도 BlackBerry JDE에서 "Coverage"보기를 사용해 보았습니다. 뷰는 "새로 고침"을 클릭하고 JDE에서 응용 프로그램을 실행하는 것과 상관없이 항상 공백으로 유지됩니다.

나는 most of the tools on this SO thread을 보았지만 J2ME/BlackBerry 프로젝트에서는 작동하지 않습니다.

BlackBerry에서 코드 커버리지 도구로 성공한 사람이 있습니까? 그렇다면 사용했던 도구는 무엇입니까? 어떻게 사용 했습니까?

이 있으면 BlackBerry 프로젝트에서 작동하도록 J2ME 용 JInjector 또는 Cobertura를 얻을 수 있습니다. 작동하려면 어떻게해야합니까?

답변

2

테스트 커버리지 프로브 데이터를 수집하는 방법을 알지 못하기 때문에 Coveratura 또는 JInjector에 대해 말할 수 없습니다.

무엇이 입니까? 중요한 것은이 데이터를 캡처하는 방법 (표준 Java VM에서만 Java 런타임 지원이 필요합니까?)과 테스트 적용 범위 표시/보고서 생성 도구로 내보내는 방법입니다.

SD Java Test Coverage 공구 소스 코드를 입력하십시오. 런타임시 특별한 VM을 지원하지 않아도 커버리지 데이터를 나타내는 원시 Java boolean 배열을 생성합니다. 일반적으로이 배열은 응용 프로그램이 종료 될 때 테스트 적용 범위 도구와 함께 제공되는 TCVDump 메서드에 의해 테스트 커버리지 표시 메커니즘에서 사용되는 파일로 직접 내보내집니다.

임베디드 시스템에서 사용되는 Java (및 기타 프로그래밍 언어)에는 종종 테스트 범위 데이터를 추출하는 사용자 지정 방법이 필요합니다. 부울 배열을 액세스 가능한 장소에 쓰려면 특수 덤프 프로 시저 (Java에서)를 코딩해야 할 수도 있습니다. 이러한 커스텀 덤프 프로 시저를 구축 한 경험은 일반적으로 꽤 간단합니다 (수십 라인). 실제 트릭은 대상 파일로 쉽게 이동할 수 있도록 데이터를 넣는 방법/위치를 결정합니다. 주로이 복사본은 복사본의 일부로, 부울 배열을 준비 위치에 복사하는 첫 번째 복사본과 준비된 데이터를 대상 파일에 쓰는 두 번째 복사본이 있습니다. 표준 TCVdump 방법은 이러한 종류의 사용자 정의가 가능하도록 소스 형식으로 제공됩니다.

나는 특별히 BlackBerry를 보지 않았지만 데이터를 어느 곳에 나 쓸 수 있다면 꽤 잘 할 수있다. 우리는 Symbian과 같은 다른 임베디드 핸드 세트 시스템으로 성공을 거두었습니다.

이 전략을 다음과 같은 방법을 일반적으로 기기의 코드를 테스트 커버리지의 전체 개요를 원하는 경우,이 논문 참조 : 구글에서 작업하는 동안 내가 적극적으로 JInjector에 참여했다 Branch Coverage for Arbitrary Languages Made Easy

0

합니다. 우리는 Blackberry 응용 프로그램에 대한 코드 적용 범위를 성공적으로 획득하는 데이를 사용할 수있었습니다. Balckberry 애플리케이션의 애플리케이션 라이프 사이클은 J2ME보다 예측하기가 쉽지 않으며 애플리케이션 데이터를 수집하기 위해 애플리케이션 코드를 조정해야한다는 것을 알게되었습니다. 나는 블랙 베리 애플 리케이션에서 개인적으로 일하지 않았다. 다른 몇몇 엔지니어들은 그렇게했다. 나는 우리가 예제 블랙 베리 애플리케이션을 만들고 그것을 jinjector 사이트에서 사용할 수있게하기를 바랬지 만, 이벤트와 인생은 방해가되었습니다.

몇 가지 단위 테스트로 샘플 블랙 베리 애플 리케이션을 기꺼이 제공하려는 경우 코드 커버 리지 작업을 돕기 위해 몇 시간을 보내고 싶습니다. 나는 J2ME 또는 Blackberry (현재 모바일 실험을 할 시간이있을 때 Android 앱을 사용하고 있습니다)와 활발히 작업하지 않기 때문에 녹슨 느낌이 들었습니다. 나는 많은 모바일 테스트 자동화를 포함하지 않는 하루 일을하지만, 모바일 앱의 테스트 자동화를 향상시키는 방법을 계속 연구하고 있습니다. 안드로이드 테스트 자동화를위한 http://code.google.com/p/mwta/downloads/list.

나는 gmail.com

+0

감사 줄리안에서 julianharty 해요,하지만 지금은 나에게 거의 무관하다; 이후 프로젝트를 전환했습니다 (비록 내가 여기서 작업하고있는 BlackBerry 응용 프로그램이 큰 성공을 거뒀지만). ;-) – Skrud