問題タブ [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 に答える
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 です。

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

ios - 非同期 Kiwi テストが完了するのを待つ、または完了後にコードを実行するにはどうすればよいですか?

Kiwi を使用して非同期テストを行っています。1 つのテストでは、(スタブ化された) ネットワーク要求の後、ネットワークからの応答がディスクに書き込まれることを確認します。ネットワーク リクエストとディスクへのレスポンスの書き込みの両方が、バックグラウンド キューで行われます。

startWithDicationary:fromCacheKiwi の非同期テスト機能を使用して、メソッドを受け取るデリゲートなどをテストできます。

ただし、データがディスクに正しく書き込まれていることをテストする方法がわかりません。データがディスクに書き込まれた後にデリゲート メソッドを送信し、それが起こるかどうかをテストすることができます。

しかし、メッセージが送信されたことを確認しても、データが実際にディスクに書き込まれたことを確認することはできません。

データがディスクに書き込まれることをテストできるように、非同期の期待が合格/不合格になるのを待つ方法はありますか? または、完了ブロックを期待値にアタッチして、非同期の期待値が成功/失敗したときに将来のテストを記述できるようにすることはできますか?

これをテストする別の方法があれば、それも良いでしょう。

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

ios - Kiwi を使用してカテゴリをテストするにはどうすればよいですか

Kiwi を使用して動的にリンクされたフレームワークをテストするときに問題が発生します。問題は、オブジェクトが動的にリンクされたフレームワークのカテゴリで定義された関数のセレクターに応答しないことです。

これはビルド設定の問題だと最初は思っていたので、ここで新しいプロジェクトを作成しました: https://github.com/dreid93/TestingFrameworkCategory

このプロジェクトでは、というカテゴリを作成し、GenericCategory3 つのテストを作成しました。XCTest を使用した Objective-C の 1 つ、XCTest を使用した Swift の 1 つ、および Kiwi を使用した Objective-C の最終的なものです。XCTest テストは成功していますが、Kiwi テストは失敗しています。

-all_loadテスト ターゲットのビルド設定にフラグと-ObjCフラグを追加しましたがOther Linker Flags、問題は解決しませんでした。

次の記事も見ましたが、解決策はありませんでした。キウイ/

あらゆる助けを前もって感謝します。

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

swift - 後述の IBAction で Kiwi テスト ケースを作成する方法

以下の関数の正しいテスト ケースの問題に直面しています。

さまざまな方法を試しましたが、テストケースに合格しました

何か考えはありますか?

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

ios - kiwi bdd テスト ケースで didReceiveMemoryWarning 関数を検証するにはどうすればよいですか?

キウイテスト ケースを使用して、メモリ警告機能を受信したことを確認する問題に直面しています。機能を確認するには?

キウイのテストケースについて知っている人はいますか?

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

ios - Specta はコードを「受け取る必要があります」

単体テスト フレームワークとして Specta を使用しようとしています (Kiwi の代わりに)。オブジェクトがセレクターを受け取るかどうかをテストするにはどうすればよいですか。Kiwi で行うように、5 回としましょう。

つまり、この「キウイ」コード行に相当するものは次のとおりです。

前もって感謝します。

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

ios - Kiwi単体テストについてのエラー

私は単体テストを学んでいます.私はKiwiフレームワークを使用するつもりです.私はキウイブローを使用して簡単なテストコードを書きました:

コードをテストすると、Project は次のエラーでクラッシュします。

どうしたの?