2016-10-02 50 views
1

我已經快速學習了三天。我打算在iOS開發中快速構建我的技能。我剛剛通過我的iOS開發人員的同事的建議,在我們的應用程序中編寫測試時快速學習 - 這對我和公司都有好處。現在,我試圖按照本教程進行操作 https://medium.com/@ynzc/getting-started-with-tdd-in-swift-2fab3e07204b沒有這樣的模塊`快速`使用cocoapods

按照教程在一個名爲Quick的框架中重寫測試,它與Rspec非常相似。我做了CocoaPod的安裝,然後按照Quick框架的安裝。使用.xcworkspaces而不是.xcodeproj。但我仍然收到No such module 'Quick'的錯誤。

我確實已經研究過,除去了豆莢,但仍然出現錯誤。我堅持了將近5個小時,試圖讓它工作。這裏的任何人都熟悉這個錯誤。

platform :ios, '9.2' 

target 'FizzBuzz' do 
    use_frameworks! 

    def test_pods 
    pod 'Quick', '~> 0.9.0' 
    pod 'Nimble', '~> 3.2.0' 
    end 

    target 'FizzBuzzTests' do 
    inherit! :search_paths 
    test_pods 
    end 

    target 'FizzBuzzUITests' do 
    inherit! :search_paths 
    test_pods 
    end 

end 

screenshot of the project folder

回答

0

試試這個。 Cocoapods可能需要重建。

  1. 退出XCode。去終端,並進入你的項目。
  2. 運行吊艙解體。
  3. 運行pod安裝。
  4. 打開Xcode並清理並構建您的.xcworkspaces項目。
+0

感謝您的回覆,但它並沒有爲我工作。仍然繼續發出錯誤'沒有這樣的模塊'快速'。 –

2

我遇到了同樣的問題。我不需要在我的podfile中嵌套測試目標。例如

source 'https://github.com/CocoaPods/Specs.git' 

use_frameworks! 

target 'MyAppName' do 
    pod 'RealmSwift' 
    pod 'GoogleMaps' 
end 

target 'MyAppNameTests' do 
    inherit! :search_paths 
    pod 'Quick', :git => 'https://github.com/Quick/Quick.git' 
    pod 'Nimble', :git => 'https://github.com/Quick/Nimble.git' 
end 

target 'MyAppNameUITests' do 
    inherit! :search_paths 
    pod 'Quick', :git => 'https://github.com/Quick/Quick.git' 
    pod 'Nimble', :git => 'https://github.com/Quick/Nimble.git' 
end 

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
    target.build_configurations.each do |config| 
     config.build_settings['SWIFT_VERSION'] = '3.0' # or '3.0' 
    end 
    end 
end 

我使用的是Xcode 8.1。點擊當前選擇的方案。

選擇'管理方案'。

Selected scheme.

認沽旁邊的選中標記試驗方案和快速。

再次點擊您的應用程序。選擇每個方案並轉到產品>構建。最後再次選擇您的主應用程序。現在嘗試在其中一個測試類中添加「import Quick」。

Schemes

0

我有這個問題是通過持續打造清潔。我注意到它只發生在一個文件中,沒有這個問題的文件有import foundation。在導入基礎之前,它就工作了。我想也許它只是修改已經完成的文件,所以我刪除了基礎導入並返回了錯誤。因此,如果您沒有它,請嘗試添加該導入。

1

我最近有這個問題,目前的答案都沒有解決這個問題。

我得到這個錯誤的原因是我創建的測試/規格文件(NetworkSpec.swift)具有主應用程序目標的目標成員資格,而不是測試目標。

爲了更新這個,我在xcode中打開了項目,在項目瀏覽器中選擇了該文件,然後在右側的屬性窗口中選擇了該文件。然後在目標成員區域中。我有兩個選擇。

  • 項目名
  • ProjectNameTests

我未選中旁邊的複選框,項目名(而不是應用程序的真實名稱),然後檢查旁邊的一個ProjectNameTests並重新運行測試。一切按預期工作。