問題タブ [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.

0 投票する
1 に答える
267 参照

ios - Kiwi: ランタイム変数によって定義された例の動的な数を持つ方法はありますか?

ネストされたオブジェクトのプロパティをテストする方法を探しています。本質的に、私は外部サービスから返される結果を検証する仕様を持っています。テストするサンプルごとに膨大な数のサービス呼び出しを行いたくないので、要求は仕様の最初に 1 回行われ、その後、応答を検証する一連の期待値が作成されます。

コードサンプルで最もよく説明されています(明らかに意図したとおりに機能しません):

私が興味を持っているのは「各アカウント」のコンテキストです。基本的に、呼び出しは一連のアカウントを返し、それぞれの有効性が必要です。

私はこれを好転させ、it() ブロックにループを持たせることができ、それはちょっとうまくいきますが、どのアイテムに欠陥があったかを教えてくれません。 ) エラーを返しTrying to add another verifier without specifying a matcher for the previous one.ます。したがって、あまり役に立ちません。

サービスからの応答に関係なく、独自のコンポーネントを (ユニット) テストするための一連の仕様もあるからです。しかし、それは機能しません。データの正確なセット (これも変更される傾向があります) はあまり気にしないため、形式が正しいだけでよいのです。

ローカルのテストデータでスペックを書くとき、階層の各レベルにいくつかのスペックを書きますが、これをまとめたいと思います: サーバーから受け取った 1 つの応答を全体としてテストしたいと思います。

テストの実行中に KWExamples を追加して動的に実行しようとしましたが、うまくいかないようです。

アイデアはありますか (または、これを意図していないものに誤用していますか)?

(Githubの問題としても投稿されています: https://github.com/allending/Kiwi/issues/435 )

0 投票する
2 に答える
718 参照

ios - Kiwi を使用した Core Data エンティティのバックグラウンド保存のテスト

バックグラウンド スレッドで Core Data とのやり取りをテストするための最良の方法を見つけようとしています。私は次のクラスメソッドを持っています:

現在、次の Kiwi コードを使用してこのメ​​ソッドをテストしています。

この行を削除するdispatch_asyncと、テストをすばやく実行できます。使用時にテストスイートを実行できる唯一の方法はdispatch_asyncsleep(1)完了ブロックを呼び出した後です。を使用sleep()すると、正しい方法でアプローチしていないと思います。使用してみましたが、これは私の価値shouldEventuallyを再取得していないようです。count

0 投票する
1 に答える
854 参照

ios - iOS Kiwi + Nocilla - リクエストのスタブに失敗する

iOS で外部 API への非同期呼び出しをテストするためのスタブ要求から始めたところです。現在、次のコードで立ち往生しており、何が機能していないのかわかりません。

私が達成しようとしている非常に単純なことは、Web サイトから 200 応答を受け取った場合、ビューの背景色を緑に変更し、それ以外の場合は赤くすることです。

- (void)viewDidLoad私のView Controllerのメソッドでは、次のメソッドを呼び出しています:

私のキウイ仕様は次のようになります。

何が間違っているのかわかりませんが、失敗し続けています。何か案が?

0 投票する
1 に答える
103 参照

unit-testing - Kiwi BDD Mock での奇妙な動作

Kiwi を使用していくつかのクラスをテストしていますが、偽のファイル パスを返すためだけにクラス メソッドをスタブする必要があります。いくつかのパス プロパティの公開を解決したり、テスト用にサブクラスを作成したりできることはわかっていますが、クラスを 1 つだけ保持し、いくつかのメソッドをスタブ化することを好みます。

これはテストです:

このテストは、成功と失敗が交互に繰り返されるため、混乱しています。「before_each」やその他の実行中のテストはありません...

誰かが同じ問題を抱えていますか?

0 投票する
1 に答える
185 参照

objective-c - Objective-C では、デリゲートを複数のプロトコルに準拠させるのは悪い習慣ですか?

これは悪い習慣ですか?

2 つのプロトコルに準拠するこのデリゲートをモックすることで、Kiwi フレームワークを使用して何かをテストしようとしています。ただし、ドキュメントを読んだり、インターネットで検索したりしても、これは不可能のようです。次のように、単一のプロトコルに準拠するモック化されたデリゲートを作成できます。

Kiwi には、モックが複数のプロトコルに準拠する機能がないのではないかと思います。これは悪い習慣だからです。もしそうなら、なぜそれが悪い習慣なのですか?

0 投票する
1 に答える
581 参照

ios - Xcode で Kiwi File Not Found エラー

テストを実行しようとしているときに、CocoaPods 経由でインストールされた Kiwi でこのエラーが発生します。

ld: ファイルが見つかりません: /Users/nick/Library/Developer/Xcode/DerivedData/LLNetwork-dmoptbvcttajoxfniztuqeiuyggd/Build/Products/Debug-iphonesimulator/LLNetwork.app/LLNetwork clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (use - v 呼び出しを確認する)

これはすべて、統合テストに使用する別のテスト ターゲットを追加しようとしたときに発生しました。ターゲットを作成し、いくつかのファイルを追加し、CMD+U ビルドから切り離しました (統合テストをたまにしか実行したくないため) が、Kiwi と統合しようとするとすぐに問題が発生しました。

現在、私の元のテストである LLNetworkTests のテストも嘔吐しています。

その他のリンカー フラグに-ObjC -framework XCTestがあり、バンドル ローダーは $(BUILT_PRODUCTS_DIR)/LLNetwork.app/LLNetwork で、テスト ホストは $(BUNDLE_LOADER) です。また、Kiwi のインストール ガイドに従って、ワークスペース内のポッド プロジェクトを指す単体テスト ターゲットの構成もあります。

ここで何が欠けていますか?

0 投票する
2 に答える
195 参照

ios - iOS で、Kiwi を使用して Google アナリティクス SDK の [GAI sharedInstance] をスタブするにはどうすればよいですか?

テストに Kiwi を使用していますが、クラス メソッドをスタブしようとする[GAI sharedInstance]と機能しません。これが私がやっていることです:

これらのコード行の後で中断してコンソールで比較すると、次のようになります。

私は何を間違っていますか?

0 投票する
1 に答える
725 参照

objective-c - Objective-C を Kiwi でテストするとき、スタブを明示的に削除するにはどうすればよいですか?

私も次のようにスタブする値をテストしようとしています:

このテストは、スタブが原因で常に失敗しshouldAudioAlertますNO。この質問を書いているときに、コードの設計を改善することでこれを回避できることに気付きました (これはレトロアクティブ テストであり、テスト ファーストではありません)。しかし、スタブを明示的に強制終了/削除できるかどうかを知りたいです。

ドキュメントや検索で答えを見つけることができませんでした。どんな助けでも大歓迎です!