2011-12-14 3 views
5

저는 통합 테스트를 통해 거대한 C++ 코드베이스를 물려 받았습니다. 이것은 많은 다운 스트림 시스템에 데이터를 공급하는 중요한 시스템입니다. 테스트가 매우 신뢰할 수 없기 때문에 우리 팀은 자신감을 가지고 변화를 추진할 수 없습니다.유닛 테스트 Java를 사용하는 C++ 코드

시스템에 몇 가지 테스트를 도입하려고하지만 대부분의 개발자는 Java 배경을 가지고 있습니다. 어떤 옵션이 있습니까?

1) 알아 C++

2) 사용 JNI가 : 확실하지 얼마나 쉽게

+1

레코드의 경우 : 1은 2의 하위 집합입니다. C++을 배울 것입니다. –

+0

3) 이러한 것들이 통합 테스트이기 때문에 C++ 코드를 별도의 프로세스로 호출하고, 테스트 데이터를 입력하고, 출력 결과를 확인하십시오. – Thilo

+0

JNA 사용을 고려 했습니까? JNI보다 느리지 만 C++ 코드를 작성하지 않고 C++ 메소드를 호출 할 수 있습니다. –

답변

2

JNI 다른 복잡한 계층과 여전히 C++를 배울 것입니다 추가 사용 - 나는 경우를 권하고 싶지 않다을 당신은 C++을 사용하고 싶지 않습니다.

C++ 시스템에 따라 다른 테스트 전략을 선택할 수 있습니다. 내 경험으로는 데이터 처리를 담당하는 시스템이 있었고 모든 데이터는 네트워크를 통해 전송되었습니다. 이 경우에 시험 파이썬에서 수행 하였다 : 우리는 (파이썬 제어) 특정 입력

제 경우는 운이 주어진

  • 우리는 처리 데이터 유효성을 체크하는 프로토콜을 선택
    1. 하나는 통신이 네트워크 연결을 통해 이루어지기 때문입니다 (우리가 원했던 언어를 그대로 사용할 수있었습니다).

      C++ 이외의 다른 것을 사용할 수 없다면 C++ (Java + JNI + C++이 아닌)에서 사용해야 할 것입니다.

    +0

    운이 좋지 않습니다. ( – NRS

    0

    나는 당신이 C 또는 C++ 코드를 작성할 필요가없는 JNA을 시도해 볼 것을 제안합니다. 그것은 JNI보다 느리지 만 문제는 없을 것입니다.