問題タブ [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 - Kiwi BDD - 「tableView:cellForRowAtIndexPath:」の結果をテストする方法は? (Objective-C)
Kiwi を使用してアプリのテストを作成しています。tableView:cellForRowAtIndexPath:
呼び出し後に返されたセルに正しい値が設定されていることを確認しようとしています。私はこれのさまざまなバリエーションを試してみましたが、うまくいきませんでした:
実際の方法は次のようになります。
それはあることに引っかかったようですcell.label1
-nil
しかし、私はそれらを以前にスタブします。
このテストを実際に書く方法についての考えは大歓迎です。
ios - Kiwi:モックとnullMockの具体的な違いは?
私はプロジェクトで Kiwi を使用していますが、 amock
と aをいつ使用するかがよくわかりませんnullMock
。Kiwi のドキュメントで現在提供されているものは次のとおりです。
プレーンなモック オブジェクトは、予期しないセレクターまたはメッセージ パターンを受け取ると、例外を発生させます。モックでスタブまたは受信期待値が使用されると、期待されるメッセージが自動的にモックに追加されます。
モックが他のメッセージを受信することを気にせず、例外を発生させたくない場合は、null モック (null オブジェクトとも呼ばれます) を使用します。
この違いはどのようなシナリオに影響を与えるのでしょうか。
ios - Xcode で Kiwi 単体テストが失敗しない
何らかの理由で、私のテストは毎回合格しています。追加しても
Xcodeはまだ「テストが成功しました」と言っています
何か案は?
私の仕様は次のようになります
ios - Kiwi の KWCaptureSpy を使用した実用的な例は何ですか?
Kiwi's を使用する実用的なアプリケーションが何であるかを理解するのに苦労していますKWCaptureSpy
。私はこのようなことをして、それを渡すことができました:
しかし、それは実際には何もテストしていないようです。Kiwi のドキュメントの例は役に立ちません: https://github.com/kiwi-bdd/Kiwi/wiki/Mocks-and-Stubs#capturing-arguments
実際に使用する正当な理由がある人はいKWCaptureSpy
ますか?
objective-c - Kiwi iOS での NSNotification のテスト
したがって、 aNSNotification
が投稿されているかどうかをテストする必要があります。引数をスパイするために次のコードを試しました。
しかし、これの問題は、非同期であるため、テスト前に引数が常にキャプチャされるとは限らないことです。キャプチャする前に引数にアクセスするためshouldEventually
にスローされるため、notificationSpy.argument.nameにも追加できません。NSInternalConsistencyException
私も試しましたが、
[[SOME_NOTIFICATION should] bePosted];
これも失敗しました。
objective-c - 複数の NSNotifications をスパイするキウイ
私は現在postNotification
、このようにスパイしています
問題は、通知名が異なる複数の通知があることです。別の通知のスパイの引数にアクセスするにはどうすればよいですか。
たとえば、通知 1 と通知 2 があるとします。スパイ引数は通知 1 をキャプチャしますが、通知 2 をキャプチャすることはできません。
これをどのように行うことができるかについてのアイデアはありますか?
ios - Realm を使用しているときに、iOS アプリで Kiwi ベースのテストを実行すると自然に失敗する
300 以上のテストを含む Kiwi テスト スイートを含むアプリに取り組んでいます。テストはアプリケーション テストとして実行されており、メインのアプリ ターゲットはテスト バンドルのホストです。
Realmをアプリに追加しようとしていますが、Realm オブジェクトをアプリ ターゲットにコンパイルすると、Kiwi マッチャーの作成に失敗したためにテストが自然に失敗します。RLMObject
これは、サブクラスにRLMArray
プロパティがある場合にのみ発生することに気付きました。それらを削除すると、問題が修正されます。
コンソール ログの失敗の理由はさまざまですが、一般的な理由は次のとおりです。
そして私のお気に入り:
他の誰かがこの問題に遭遇しますか?
ios - ブロックポインタへのポインタ
ライブラリ Kiwi を使用して単体テストを行いたいと思います (PMKPromise) を使用するメソッドがあります。
私の方法は次のようになります。
promise 完了ブロック (「then」と呼ばれる) をキャプチャして実行したいのですが、この方法で (モックされた promise を使用して) 実行することができました。
私が今やりたいことは、単体テストが約束されたときに将来簡単に使用できるカテゴリにこの醜いコードを隠すことです。
メソッドの引数としてブロック「ダブルポインタ」を渡したいです。
これは実装である可能性があります:
そして、これは私がそれを使用する方法です:
残念ながら、このコードは機能しません。足を踏み入れると、確かにブロックがキャプチャされます。しかし、キャプチャされたブロックを実行する瞬間には、それは nil です。