問題タブ [kiwi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Cocoapodsを使用したキウイテストターゲット
Cocoapods経由でKiwiを追加しました。これはpodfileの内容です
私は問題なくアプリを実行できます。しかし、cmd + uを押してテストターゲット(KiwiUnitTest)を実行すると、いくつかのエラーが発生します。テストする必要のあるクラス(ParticleView)は、BlocksKit(Cocoapods経由で含まれています)を使用します。そこで、ParticleViewをテストターゲット(KiwiUnitTest)に追加すると、「...の表示インターフェイスがありません...セレクターを宣言しています...テストターゲットはCocoapodsについて何も知らないようです。
私はすでにテストホストに追加し、$(inherited)
追加FRAMEWORK_SEARCH_PATHS
しました。$(BUNDLE_LOADER)
podfileからtrueを削除:exclusive =>
しても役に立ちませんでした
私はすべてを削除し、ココアポッド全体とテストターゲットを最初からセットアップしました。
ios - AFNetworking を使用して API 呼び出しを単体テストする方法
サードパーティの Web サービスに接続する iOS アプリを開発中です。約 50 の異なる呼び出しがあり、Kiwi を使用して単体テストを作成したいと考えていますが、どこから始めればよいかわかりません。
私は API の責任者ではないので、正しい GET または POST メソッドを使用して、自分の呼び出しが正しい URL を指していることを確認する必要があります。
これを適切にテストする方法はありますか?
私の呼び出しの1つの例を次に示します。
次のヘルパー メソッドを呼び出す
objective-c - キウイのモックメソッドにパラメータの期待値を設定する方法
OCMockitoとOCHamcrestを使用して、モックされたメソッドへの引数に期待値を設定できます。
Kiwiを使用してこれを行うための同等の簡単な方法はないようです。次のようなスパイを使用して引数をキャプチャすることができます。
次に、キャプチャされたオブジェクトに対する期待を確認します。
キウイでこれを行うためのより不器用な方法はありますか?
(私はおそらくここでハムクレストマッチャーを使用できることを知っていますが、今のところ私はキウイが何ができるかを探っています)。
ios - KiwiでUICollectionViewLayoutをテストするには?
Kiwi で UICollectionViewFlowLayout サブクラスをテストする必要があります。
UICollectionView のデリゲートと dataSource を正しくモックアップしましたが、まだいくつかの問題があります。
の指定されたアイテム サイズではCGSize(200.0f, 200.0f)
、画面上に 5 つのアイテムを取得する必要がありますが、何らかの理由で最後の行で返される属性配列が 10 個の属性を返すため、10 個の可視セルがあることを意味します。
ここで何が起こっているのでしょうか?レイアウトが期待どおりに機能する場合、画面には常に 5 つの要素が表示されます。
これは私がこれまでに持っていたものです(コメントを読んでください)。ほとんどの場合は機能します。
これは、テストなしでアプリを実行したときに表示されるものです。
ios - Kiwi iOS コンテキスト ブロックの順序がおかしい
次のような Kiwi 仕様ファイルがあります。
spec を実行すると、このコード行で 1 つのエラーが発生します[[theValue(collection.objects.count) should] equal:theValue(1)];
context(@"then removing 1 object", ^{...})
ここに奇妙な部分があります -仕様からブロック全体を削除すると、前述のテストに合格します。
[collection removeObject:object]
これにより、失敗したテストの前に行が実行されていると私は信じています。ブロックが実行される順序を誤解している可能性があると感じています。
任意の提案をいただければ幸いです!
ios - Kiwi + MagicalRecord メソッドが存在しない
Kiwi フレームワークを使用して、Magical Record ライブラリを介してコードと Core Data 間の相互作用をテストしています。Magical レコードは、MR_createInContext:(NSManagedObjectContext *)context などの優れたメソッドをいくつか追加する NSManagedObject のカテゴリを定義します。私は、そのメソッドが呼び出されるかどうか、および何回呼び出されるかをテストしようとしています。
問題は、キーウィがそのカテゴリを認識していないように見えることです。
テスト .m ファイル内。
ME_ShouldCreateNewObjectForMeObjectWithNewId (EHMeSpecs) が失敗しました: 'ME, should create new object for me object with new id' [FAILED], スタブできません -MR_createInContext: そのようなメソッドが存在しないため
Kiwi にカテゴリを認識させるにはどうすればよいですか?
ios - MagicalRecord MR_createInContext: nil を返します
私は次の方法を持っています:
次のキウイ仕様でテストしています:
次の設定で:
問題は、メソッド MR_createInContext が nil を返すことです。同じコードが有効な非 nil オブジェクトを生成する他のいくつかのテストのように、何が原因なのかわかりません。
ios - 嘲笑の期待とGrand Central Dispatch
[aPOIManager fetchNear:location]
私は単純なマネージャー オブジェクトを持っており、キウイでモックを使用して、それを呼び出したときにそのダウンローダーを呼び出していることを確認したいと考えてdownloadPOIsNear:completionBlock:
います。
グランドセントラルディスパッチ内でダウンローダーに呼び出しをディスパッチすることを決定するまで、すべてがうまくいきました。
呼び出しが非同期であるため、テストは失敗します。Kiwi には、ある値を非同期的にチェックする機能がありますが、非同期呼び出しをチェックする機能はありません。
ここに私のテストの一部があります: