2014-09-27 5 views
1

저는 여러 구성 요소 (플러그인 포함)로 구성된 Qt 애플리케이션을 구축 중입니다. 각 하위 프로젝트에는 여러 클래스가 있습니다. "일반"TDD 워크 플로를 개발 프로세스에서 사용하고 싶습니다. Qt 하위 프로젝트 및 TDD

  1. 는 I 테스트
  2. 추가하여 (오류를 정정하기 위해 소스를 수정하는 모듈
  3. 대한 시험 (실패 된) 컴파일 같은 모듈의 클래스의 새로운 기능/방법 쓰기 FUNC/방법 등) 새로운 기능
  4. 쓰기 테스트 케이스/방법
  5. 실패 테스트를 해결하기 위해 SRC 코드를 수정

각 하위 프로젝트가 포함됩니다 각각

을 소스 파일과 unittests을 보유 할 SRC/테스트/폴더는이 프로젝트의 디렉토리 구조는 모습입니다 같은 :

myapp 
| 
|-myapp.pro 
| 
|--module1/ 
|  |-src/ 
|  |-test/ 
| 
|--module2/ 
|  |-src/ 
|  |-test/ 
| 
. 
. 
|--moduleN/ 
|  |-src/ 
|  |-test/ 

내가 어떻게 설정 QCreator 내가 하위 프로젝트를 구축 할 수 있도록하거나 QCreator GUI에서 unittest?

답변

0

.pro 파일에 subdirs 템플릿을 사용해야합니다.

저는 (링크 된 페이지 맨 아래에) link 다음부터 시작할 수 있다고 생각합니다.

0

당신은 subdirs 사업을하고 .PRO 파일에 하위 프로젝트를 추가 할 수 있습니다

TEMPLATE = subdirs 

CONFIG += ordered 

SUBDIRS += \ 
    module1 \ 
    module2 \ 
    ... 
    moduleN \ 
    myapp 

가 먼저 목록에서 다른 사람에 의존하는 하위 프로젝트를 데려 와야한다. 또한 하위 프로젝트의 .pro 파일 이름은 폴더 이름과 동일해야합니다. 이렇게하면 하위 프로젝트가 감지되어 프로젝트 창에 나열됩니다.

하위 module1, module2 ... moduleN는 .PRO 파일에 TEMPLATE = lib을 가지고 myapp가 .PRO 파일에 TEMPLATE = app을 포함하는 응용 프로그램을해야한다 도서관이 될 수 있습니다.

각 하위 프로젝트에서 하위 프로젝트에 링크하여 라이브러리를 사용할 수 있습니다. 이 작업은 서브 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Add Library을 선택한 다음 Internal Library을 선택하여 수행 할 수 있습니다. 하위 프로젝트 목록에서 하나의 라이브러리를 선택하면 링크 구성이 .pro에 자동으로 추가됩니다. 그것은 다음과 같을 것입니다 :

win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../module1/release/ -lmodule1 
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../module1/debug/ -lmodule1 
else:unix: LIBS += -L$$OUT_PWD/../Base/ -lmodule1 

INCLUDEPATH += $$PWD/../module1 
DEPENDPATH += $$PWD/../module1 
+0

감사합니다. 결과는 프로젝트 (모듈을 말합니다)와 테스트가 나란히 (같은 디렉토리 수준에서) 존재하게하는 것입니다. 내가하고 싶은 것은 소스와 부모의 테스트 다. 나는 템플릿 SUBDIR의 부모 또는 컨테이너 프로젝트를 생성하고 두 프로젝트 (실제 소스와 단위 테스트)가 나란히 포함되어 있다고 가정합니다. 그러한 정교한 소프트웨어 (Qt)의 경우, 이런 종류의 고르지 못쓰게 만들거나 해커에게 의지해야하는 것은 가장 적은 것을 말하는 것이 매우 못생긴다. 이것을하기위한 더 좋은 방법이 있어야합니다. –