2013-10-14 3 views
2

우리는 Android 용 코드를 포팅하면서 원시 c/C++ 프로젝트를 maven 빌드 프로세스에 통합 할 계획입니다. 더 나아가 우리는 현재 CUnit을 사용하고있는 c/C++ 프로젝트에 대해서도 표준 maven 구문 (java 단위 테스트의 경우)을 사용하여 자동으로 실행되는 유닛 테스트를 공식화하려고합니다. 이것을 Maven과 통합 할 수 있습니까? 이 작업을 수행하는 직접적인 방법이 있는지Maven과 C/C++ 단위 테스트의 통합

답변

0

나는 확실하지 않다 그러나 나는 다음을 수행 할 것 :

  1. 는 단위 테스트를 실행하기위한 책임이 구성 쉘/배치 스크립트를 작성합니다.
  2. exec plugin을 통해 테스트 단계로 스크립트를 바인딩하여이 스크립트의 실행을 maven에 통합하십시오.

이 설정은 surefire plugin이 시작될 때마다 C++ 단위 테스트를 실행합니다. 실행 : mvn test.

또는 ANT 스크립트와 antrun plugin을 사용하여 동일하게 수행 할 수 있습니다.

가 여기에 예제합니다 (Exec에서 플러그인 사용 페이지에서 변경된 버전)입니다 :

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <version>1.2.1</version> 
     <executions> 
      <execution> 
      <phase>test</phase> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <executable>run-cpp-tests.sh</executable> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    ... 
</project> 
+0

미안 해요 안드로이드 매우 새로운 오전 메이븐 그래서 하나 개의 질문, 내가 JNI를 사용하여 내 C/C++ 코드를 변환합니다, 그리고 나서 안드로이드 prj는 System.loadLibrary ("abc")와 같은 일을 할 것입니다;이 경우 셸 스크립트가 어떻게 맞을까요? – user503403

+0

분명히 답장으로 포인트를 놓쳤습니다 :) JUnit을 사용하여 자바 코드에 대해 유닛 테스트를 실행하십시오 (또는 선호하는 자바 단위 테스팅 프레임 워크)를 Maven에서 가져 와서 스크립트에서 CUnit을 사용하여 C++ 코드에 대해 실행한다. – xea

+0

JUnit이나 TestNG와 같은 Java의 C++ 테스트를 단위 테스트의 본질과 그 반대로 생각하는 것은 좋지 않습니다. – xea