2012-03-25 4 views
3

저는 기존 응용 프로그램을 iOS로 포팅했습니다. 현재 모든 빌드에서 단위 테스트를 실행하고 있습니다. 내 테스트는 테스트를 단순화하기 위해 내 응용 프로그램에 통합되어 있으므로 -t을 전달하면 테스트가 실행됩니다. 내 main에서 할 매우 먼저 할 일은 이것이다 :단위 테스트 Xcode 내의 iOS

for(int ii=1;ii<argc;++ii) 
{ 
    if(strcmp("-t", argv[ii]) == 0) 
     return RunAllTests(argc, argv); 
} 

이 바탕 화면에 잘 작동하고 너무 아이폰 OS와 함께 작동하는 내가 사랑하는 것입니다. -t 플래그가 전달 된 시뮬레이터에서 응용 프로그램을 수동으로 실행하면 테스트가 예상대로 실행됩니다. 불행히도 빌드 후 단계로 실행하면 작동하지 않습니다. 모든 빌드에서이 스크립트를 실행합니다 : $TARGET_BUILD_DIR/$TARGET_NAME.app/$TARGET_NAME -t. 이 실행되면 나는 다음과 같은 오류가 발생합니다 : IDE에서 시뮬레이터에 비해 않고 직접 실행 파일을 실행하기 때문에

dyld: Library not loaded: /System/Library/Frameworks/UIKit.framework/UIKit 
    Referenced from: /development/test/projects/../bin/test.app/test 
    Reason: image not found 
/development/test/projects/../obj/test.build/Script-27DEB636151ECEC80003FE53.sh: line 2: 8720 Trace/BPT trap: 5  $TARGET_BUILD_DIR/$TARGET_NAME.app/$TARGET_NAME -t 
Command /bin/sh failed with exit code 133 

나는 그게 있으리라 믿고있어.

iOS에는 단위 테스트 프레임 워크가 있지만 iOS의 단위 테스트에만 모든 테스트를 다시 작성해야한다는 점을 이미 알고 있습니다. Xcode에서 시뮬레이터에서 빌드 후 단계를 실행하여 테스트가 올바르게 실행되도록하는 방법이 있습니까?

답변

0

Xcode의 메뉴에서 Product-> Edit Scheme ...을 선택하십시오. 나는 당신이 Run 또는 아마도 Test를 사용하고 있다고 추측하지만 그것은 중요하지 않습니다. 어떤 실행을하든, 오른쪽의 인수 인수를 클릭하십시오. "인수가 시작됨"이 표시됩니다. 거기에 매개 변수를 추가하십시오. 그게 효과가있다.