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

ios - Kiwi テスト ライブラリのサンプル プロジェクト (2+2 よりも複雑なもの)

Kiwi テスト フレームワークの動作を示す良いサンプル プロジェクト/チュートリアルを探しています。2 つの数値を加算することのみを目的としたクラスのテストの例や、そのような平凡なことはこれ以上必要ありません。それらの例はすでにたくさんあります。

特に、UIViewController のサブクラスと、データのフェッチを担当するクラスをテストするための戦略に関心があります。

Web サービスに対してテストするために存在する戦略は何ですか。フェッチ呼び出しから戻りメソッドをスタブ化することですか?

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

ios - KiwiスタブはNSNumberで機能せず、SIGKILLで終わります

正しく実行しているかどうかはわかりませんが、コアデータオブジェクトでNSNumberプロパティをスタブ化しようとしています。

これが私のテスト例です:

そして私のソースコード:

これを実行すると、メソッドでSIGKILエラーが発生します。writeObjectValueToInvocationReturnValue

私は何かが足りないのですか?

アップデート

スタブを次のように変更しようとしました:

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

iphone - Kiwi を使用した iOS のプロパティ付きモック サブクラスのテスト

Objective Resource を使用してローカル オブジェクトを作成し、リモート レスポンスを反映するアプリケーションがあります。

特定のモデル クラスには、その特定のモデル オブジェクトの特定のプロパティが何であるかに関係なく、さまざまな追加機能、最も重要なこととして、シリアル化、ディスクへの書き込み、およびディスクからの読み込みの機能をすべて与えるために、抽象的なクラスのサブクラスがあります。 .

それから私は電話します

私はBDDとテスト駆動開発全般に不慣れです。このフレームワークを多くのプロジェクトで使用しているため、この機能を抽象的にテストするために、kiwi を使用してモック オブジェクトを作成するにはどうすればよいですか。

具体的には、さまざまなタイプのプロパティを持つサブクラスを保存、読み込み、削除、上書きできることを確認するテストを作成したいと考えています。

私の理解では、これがスタブとモックの出番ですが、プロパティをモックする方法を理解できないようです。これらのプロパティを持つ実際のクラスを作成する必要がありますか?

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

xcode - Kiwi を使用してテストの結果を取得する

XML-RPC を使用して、iPhone アプリのテスト結果を TestLink に投稿したいと考えています。

プロジェクトでKiwiを使用していますが、テストの結果を取得したいと考えています。テストケースの条件が成功したか失敗したかを知ることはできますか?

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

ios - デリゲートに対する Kiwi (iOS) での期待のモック

質問の短いバージョン:

次の Kiwi/iOS のモックの期待値の何が問題になっていますか?

質問の長いバージョン:

NSConnection を処理する単純なクラスの iOS の Kiwi でテストを作成しようとしています。クラスが NSConnection からのコールバックを処理することをテストするために、NSConnection が通常行うデリゲート メソッドをクラスに送信します。クラスには、クラスを使用する人にデータを送り返すデリゲートがあります。クラスをテストするには、モック化されたデリゲートを挿入し、目的のメソッドが呼び出されることを確認する必要があります。そのような単純な :)

Kiwi テストのコードは次のとおりです。

そして私のSharepointCommunicator.mで:

このコードは機能し、正しいです。チェックポイントでデバッグすると、期待どおりに動作することが示されます。statusCode の値は 11111 です。txt は testString1+textString2 です。それでも、テストの最後の行で次のエラーが発生して失敗します。

テストの最後の行を削除しても、同じエラーが発生します。私の receive:withArguments: の理解は間違っていると思います..

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

cocoa-touch - Cocoapods で Kiwi をセットアップするにはどうすればよいですか?

私は Kiwi と Cocoapods の両方が初めてです。Cocoapods を起動して実行していますが、Kiwi で遊ぶ前でも、テスト ターゲットは次のようなエラーで失敗します。

これは私のPodfileです:

0 投票する
3 に答える
2820 参照

ios - Kiwi 仕様のヘルパー関数

乾燥させたい繰り返しの仕様がいくつかあります。beforeEach共通の機能は、ブロックへの移動には向いていません。基本的に、これはオブジェクトの作成であり、12 個のオブジェクトごとに 4 行です。この 4 行を 1 つの関数呼び出しに変換したいと考えています。

Kiwi 仕様のどこにヘルパー関数を配置できますか?

RSpec ではdefspec ブロックの間に入れることができますが、ここではそれができないようです。SPEC_END@implementation from 内に関数を追加できるように、マクロをスキップしてそのコンテンツを自分で追加しようとしましSPEC_BEGINたが、それもうまくいかないようです。

訂正SPEC_END...マクロを手作業でコーディングすることで機能するものを管理できます。最後に } を間違えました。それでも、メソッドが にないため、失敗します@interface

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

ios - 既存のプロジェクトとcocoapodの依存関係を使用したKiwiのセットアップ

Cocoapodsを使用して、既存のプロジェクトにKiwiテストフレームワークを正常に追加しました。

非常に基本的なテストを作成して、合格させることができます。

ただし、モデルの1つをテストしようとすると、状況が崩れます。

モデルの.hファイルを仕様に含めます。

そして、テストを実行すると、多数のエラーが発生します。

私が理解できないいくつかのこと:

  • 前述のように、テストターゲットを既存のプロジェクトに追加しました。モデルクラスを新しいテストターゲットと共有するにはどうすればよいですか?ビルドフェーズ/コンパイルソースで.mファイルを選択するだけですか?
  • モデルが他のモデル/ヘルパークラス/カテゴリを使用している場合、それらもテストターゲットと共有する必要がありますか?また、これらのファイルをすべてスペックファイルにインポートする必要がありますか?
  • 私のモデルは、CocoapodとしてインストールしたAFNetworkingに依存しています。テストターゲットでそのライブラリを使用するにはどうすればよいですか?AFNetworking.hをインポートしようとしましたが、明らかに失敗します。

ありがとう!

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

ios - CocoaPods によって追加されたフレームワークでのテストに Kiwi を使用できない

テスト フレームワーク Kiwi を CocoaPods 経由で追加されたフレームワークと連携させるのに問題があります。AFNetworking と Lumberjack の両方がロードされていますが、どちらもテストで失敗を引き起こしています。テスト ターゲットにビルドされているプロジェクトのソース ファイルに CocoaPods のファイルが含まれている場合にのみ、テストが失敗します。これは私が受け取っているメッセージです:

2012-10-15 13:10:44.386 otest[47294:7e03] /Users/[username]/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphonesimulator/KiwiUnitTest.octest のテスト バンドルを読み込めませんでしたリンクエラーが発生したためです。テスト バンドルがリンクされたフレームワーク フレームワークまたはライブラリを dyld が見つけられない可能性があります。おそらく、リンク時にフレームワークまたはライブラリのインストール パスが正しくなかったことが原因です。

CocoaPods と Kiwi の両方ですべての指示に従いました。

たとえば、APIClient クラスがあります。AFHTTPClient.h が含まれています。APIClient.m をテスト ターゲットに組み込まずにテストを実行すると、テストがビルドされ、正常に実行されます。ソースを含めると、すべて成功したと表示されますが、テストは実行されず、上記のエラー メッセージがログに記録されます。

ありがとう、ジェームズ

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

objective-c - Kiwi でデリゲートを非同期的にテストする方法

皆さん、私は何年もの間、Kiwi テストを使用してデリゲート メソッドを非同期的にテストする方法について、いくつかの良い例を見つけようと努めてきました。

テスト用のプロトコルを定義するマネージャ クラスがあり、デリゲートで pass メソッドと fail メソッドが返されます。これを行う方法についてサンプルコードを提供できる人はいますか? マネージャーでメソッドを呼び出すために、テスト クラス自体に を実装させることはできますか?

みんなありがとう