2013-10-15 230 views
8

我試圖將測試添加到mac應用程序。 我正在使用XCTest框架。 當我運行測試(CMD + U)我收到「測試失敗」,並在控制檯中我看到:XCTest - 「測試失敗」

2013-10-15 13:22:56.354 8tracks Radio[40560:303] Error loading /Users/victor/Library/Developer/Xcode/DerivedData/Musica-dhxbqwburbddtietormguodcwoqt/Build/Products/Test/MusicaTests.octest/Contents/MacOS/MusicaTests: dlopen(/Users/victor/Library/Developer/Xcode/DerivedData/Musica-dhxbqwburbddtietormguodcwoqt/Build/Products/Test/MusicaTests.octest/Contents/MacOS/MusicaTests, 262): no suitable image found. Did find: 
/Users/victor/Library/Developer/Xcode/DerivedData/Musica-dhxbqwburbddtietormguodcwoqt/Build/Products/Test/MusicaTests.octest/Contents/MacOS/MusicaTests: open() failed with errno=1IDEBundleInjection.c: Error loading bundle '/Users/victor/Library/Developer/Xcode/DerivedData/Musica-dhxbqwburbddtietormguodcwoqt/Build/Products/Test/MusicaTests.octest' 

任何想法? 乾杯!

回答

11

您需要禁用代碼簽名才能運行單元測試。 This page解釋瞭如何創建測試配置,以便您的調試和發佈應用程序是代碼簽名的,但您的單元測試不是。不要忘記在更改配置後進行全面清潔。

+0

+1絕對正確,但前提是您收到「errno 1」(操作不允許)。我有相當多的工作要做,以允許我的沙盒應用在單元測試期間以非沙盒模式運行。 – trojanfoe

+0

這解決了我在10.9.2上使用Xcode 5.1的問題 –

+0

這對我有用。我還使用了[RB App Checker Lite](http://brockerhoff.net/RB/AppCheckerLite/)來檢查我的非測試版本是否仍然正確簽名。 – Ashley

5

當試圖向現有的ios項目添加測試時,我遇到了同樣的「找不到合適的圖像」問題。嘗試轉到測試目標的生成設置,並將「僅生成活動架構」設置爲「否」。這解決了我的問題。

此外,請確保你有兩個目標相同的架構,否則你會得到奇怪的鏈接器錯誤。

+0

當我將應用程序測試從SenTests轉換爲XCTest時,同樣的問題。邏輯測試沒問題。節省了很多時間。 – karim