문제

현재 사용 중입니다 RCOV 내가 작업중 인 Rails 프로젝트에 대한 C0 코드 커버리지 분석을 얻으려면

그러나 이러한 결과는 실질적으로 의미가 없습니다. RCOV에 따라 100% 적용 범위가 있으며 (C0 분석 만 포함하므로) 지금까지 존재하는 기능에 대한 테스트 사례의 절반을 거의 작성하지 않았습니다.

C1 커버리지가있는 Visual Studio 2008 팀의 코드 커버리지의 유용한 결과에 익숙합니다. 루비에 대해 유사한 커버리지를 제공하는 도구가 있습니까?

도움이 되었습니까?

해결책

현재 Ruby에 대한 C1 적용 범위 도구가 없습니다. 실제로는 없습니다 어느 RCOV 이외의 커버리지 도구.

최근까지 C에서 MRI 통역사를 패치하거나 확장하여 이와 같은 도구를 작성하는 것이 가능했습니다. 약 2 년 전에 Jruby를 Java에서 확장 할 수 있으며 실제로 지난 달부터 RCOV 포트가 있습니다. Jruby. 그러나 이것은 루비에 대한 지식이 모두 필요합니다 그리고 C와 그에 대한 꽤 깊은 지식은, MRI의 내부와 함께하는 것은 희미한 사람을위한 것이 아니기 때문입니다.

그러나 Rubinius에서만 Ruby 자체의 코드 커버리지 도구와 같은 동적 분석 도구를 작성하여 Ruby 커뮤니티의 훨씬 더 많은 부분에 도구 쓰기에 액세스 할 수 있습니다. 내 희망은 도구 공급 업체의 실질적인 재무 지원과 함께 (많은 주요 IDE 공급 업체가 CodeGear (Ex-Borland), Intellij, NetBeans, Eclipse, Sapphiresteel (Ruby In Steel in Steel Visual Studio와 Microsoft조차도 2009 년 루비 툴링 공간에서 빠른 혁신으로 이어질 것이며 C1, C2 적용 범위, NPATH 복잡성, 훨씬 더 세밀한 프로파일 링 등을 보게 될 것입니다.

그때까지 제가 가진 유일한 아이디어는 Java 도구를 사용하는 것입니다. Jruby Guys는 적절한 마법 메타 데이터를 방출하여 Java 도구에 의해 적어도 침투 할 수있는 바이트 코드를 만들기 위해 노력합니다. 따라서 Jruby와 함께 Java 커버리지 도구를 사용할 수 있습니다. 그러나, 그것이 실제로 작동하는지, 그것이 작동하는지 여부는 전혀 모릅니다.

다른 팁

딥 커버 오늘날 존재하는 유일한 C1 Ruby 커버리지 도구입니다.

폭로: 저는 공동 저자입니다 DeepCover.

코드 커버리지 도구에 대해서는 모르겠지만 Ruby에는 Heckle이라는 돌연변이 테스터가 있습니다.

돌연변이 테스트는 테스트중인 코드를 변경하고 그 돌연변이가 단위 테스트가 실패하는지 확인하는 것을 포함합니다.

불행히도, 최신 공식 보석 (버전 1.4.1)에는 몇 가지 버그가 있으므로 개발 지점에서 코드를 사용하여 보석을 구축 할 수 있습니다. 인스턴스 방법 만 돌연변이 할 수 있습니다. 개발 지점 버전이 얼마나 신뢰할 수 있는지 잘 모르겠습니다.

테스트중인 코드가 시스템 (예 : 파일 삭제)을 파괴 할 수있는 경우 돌연변이 테스트를 피해야합니다. 읽고 싶을 수도 있습니다 Heckle에 대한 FAQ 그리고 RCOV와 Heckle을 언급하는 FAQ 질문.

레코드의 경우 NetBeans 7.0에는 Ruby 내장에 대한 코드 적용 범위 분석이 있습니다. C0 또는 C1인지 아닌지 설명하는 문서를 찾을 수는 없지만 주시해야합니다.

오래된 게시물이지만 루비 커버리지 도구를 찾고 있습니다. fyi 나는 루비라는 C1 커버리지 도구에 부딪쳤다. Single_Cov. 그것이 얼마나 좋은지 모르겠지만 요즘 테스트 운영을 줄 것입니다.

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