2016-10-02 3 views
1

私は3日間素早く勉強しています。私は特にiOS開発のスキルを早急に構築するつもりです。私はちょうどiOS開発者である私の同僚から、私たちのアプリでテストを書いている間に素早く学ぶことを勧めました。これは私にとって意味のある会社と自分の利益のためです。今、私はこのチュートリアルに従っています https://medium.com/@ynzc/getting-started-with-tdd-in-swift-2fab3e07204b チュートリアルの後に、Rspecと非常によく似たQuickというフレームワークでテストを書き直した後。私はCocoaPodのインストールを行い、次にQuickフレームワークのインストールに従いました。 .xcodeprojの代わりに.xcworkspacesを使用してください。しかし、まだ私は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

これを試してみてください。ココアポードを再建する必要があるかもしれない。

  1. 終了XCode。ターミナルに行き、あなたのプロジェクトにcdしてください。
  2. 実行ポッド脱一体。
  3. pod installを実行します。
  4. Xcodeを開き、.xcworkspacesプロジェクトをクリーンアップしてビルドします。
+0

返事をいただきありがとうございますが、それは私のために働いていませんでした。それでもエラーは発生しません。 –

2

同じ問題が発生しました。私は自分のポッドファイルにテストターゲットを入れ子にする必要はありませんでした。例えば

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.

次の試験制度とクイックへのPutのチェックマーク。

あなたのアプリのスキームをもう一度クリックしてください。各スキームを選択して、[製品]> [ビルド]に移動します。最後にメインアプリのスキームをもう一度選択します。次に、テストクラスの1つに 'import quick'を追加してみましょう。

Schemes

0

私は、ビルドのクリーンを通じて持続し、この問題を持っていました。私はそれが1つのファイルで起きていることに気がつきました。この問題のないファイルはimport foundationでした。その前の行に基盤をインポートした後、それはうまくいった。私は多分それを行ったファイルを変更しているので、基盤のインポートを取り除いたと思って、エラーが戻ってきたと思いました。あなたがそれを持っていない場合は、そのインポートを追加してみてください。

1

私は最近この問題を抱えていましたが、現在の回答のどれも私のために解決していません。

このエラーが発生した理由は、作成したTest/Specファイル(NetworkSpec.swift)に、テスト対象ではなくメインアプリケーションターゲットのターゲットメンバーシップがあることでした。

これを更新するには、xcodeでプロジェクトを開き、プロジェクトエクスプローラでファイルを選択し、次に右側のプロパティウィンドウでファイルを選択しました。その後、ターゲットメンバーシップエリアで私には2つの選択肢があった。

  • プロジェクト名
  • ProjectNameTests

は、私は次のプロジェクト名の横にあるチェックボックス(ないアプリの本名)をオフにしてからProjectNameTestsに、次のいずれかをチェックし、テストを再実行しました。すべてが期待どおりに機能しました。

関連する問題