問題タブ [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 投票する
2 に答える
353 参照

ios - Kiwi BDD - 「tableView:cellForRowAtIndexPath:」の結果をテストする方法は? (Objective-C)

Kiwi を使用してアプリのテストを作成しています。tableView:cellForRowAtIndexPath:呼び出し後に返されたセルに正しい値が設定されていることを確認しようとしています。私はこれのさまざまなバリエーションを試してみましたが、うまくいきませんでした:

実際の方法は次のようになります。

それはあることに引っかかったようですcell.label1-nilしかし、私はそれらを以前にスタブします。

このテストを実際に書く方法についての考えは大歓迎です。

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

ios - Kiwi:モックとnullMockの具体的な違いは?

私はプロジェクトで Kiwi を使用していますが、 amockと aをいつ使用するかがよくわかりませんnullMock。Kiwi のドキュメントで現在提供されているものは次のとおりです。

プレーンなモック オブジェクトは、予期しないセレクターまたはメッセージ パターンを受け取ると、例外を発生させます。モックでスタブまたは受信期待値が使用されると、期待されるメッセージが自動的にモックに追加されます。

モックが他のメッセージを受信することを気にせず、例外を発生させたくない場合は、null モック (null オブジェクトとも呼ばれます) を使用します。

この違いはどのようなシナリオに影響を与えるのでしょうか。

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

ios - Xcode で Kiwi 単体テストが失敗しない

何らかの理由で、私のテストは毎回合格しています。追加しても

Xcodeはまだ「テストが成功しました」と言っています

何か案は?

私の仕様は次のようになります

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

ios - Kiwi の KWCaptureSpy を使用した実用的な例は何ですか?

Kiwi's を使用する実用的なアプリケーションが何であるかを理解するのに苦労していますKWCaptureSpy。私はこのようなことをして、それを渡すことができました:

しかし、それは実際には何もテストしていないようです。Kiwi のドキュメントの例は役に立ちません: https://github.com/kiwi-bdd/Kiwi/wiki/Mocks-and-Stubs#capturing-arguments

実際に使用する正当な理由がある人はいKWCaptureSpyますか?

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

objective-c - Kiwi iOS での NSNotification のテスト

したがって、 aNSNotificationが投稿されているかどうかをテストする必要があります。引数をスパイするために次のコードを試しました。

しかし、これの問題は、非同期であるため、テスト前に引数が常にキャプチャされるとは限らないことです。キャプチャする前に引数にアクセスするためshouldEventuallyにスローされるため、notificationSpy.argument.nameにも追加できません。NSInternalConsistencyException

私も試しましたが、 [[SOME_NOTIFICATION should] bePosted]; これも失敗しました。

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

objective-c - 複数の NSNotifications をスパイするキウイ

私は現在postNotification、このようにスパイしています

問題は、通知名が異なる複数の通知があることです。別の通知のスパイの引数にアクセスするにはどうすればよいですか。

たとえば、通知 1 と通知 2 があるとします。スパイ引数は通知 1 をキャプチャしますが、通知 2 をキャプチャすることはできません。

これをどのように行うことができるかについてのアイデアはありますか?

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

ios - Realm を使用しているときに、iOS アプリで Kiwi ベースのテストを実行すると自然に失敗する

300 以上のテストを含む Kiwi テスト スイートを含むアプリに取り組んでいます。テストはアプリケーション テストとして実行されており、メインのアプリ ターゲットはテスト バンドルのホストです。

Realmをアプリに追加しようとしていますが、Realm オブジェクトをアプリ ターゲットにコンパイルすると、Kiwi マッチャーの作成に失敗したためにテストが自然に失敗します。RLMObjectこれは、サブクラスにRLMArrayプロパティがある場合にのみ発生することに気付きました。それらを削除すると、問題が修正されます。

コンソール ログの失敗の理由はさまざまですが、一般的な理由は次のとおりです。

そして私のお気に入り:

他の誰かがこの問題に遭遇しますか?

0 投票する
0 に答える
771 参照

ios - ブロックポインタへのポインタ

ライブラリ Kiwi を使用して単体テストを行いたいと思います (PMKPromise) を使用するメソッドがあります。

私の方法は次のようになります。

promise 完了ブロック (「then」と呼ばれる) をキャプチャして実行したいのですが、この方法で (モックされた promise を使用して) 実行することができました。

私が今やりたいことは、単体テストが約束されたときに将来簡単に使用できるカテゴリにこの醜いコードを隠すことです。

メソッドの引数としてブロック「ダブルポインタ」を渡したいです。

これは実装である可能性があります:

そして、これは私がそれを使用する方法です:

残念ながら、このコードは機能しません。足を踏み入れると、確かにブロックがキャプチャされます。しかし、キャプチャされたブロックを実行する瞬間には、それは nil です。