저는 기존 응용 프로그램을 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에서 시뮬레이터에서 빌드 후 단계를 실행하여 테스트가 올바르게 실행되도록하는 방법이 있습니까?