問題タブ [xctestexpectation]

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 に答える
3333 参照

ios - XCTestCase waitForExpectationsWithTimeout:handler: 期待が満たされない場合に EXC_BAD_ACCESS をスローする

XCTestExpectation を使用して非同期呼び出しをテストしています。

次のコードは、指定された 1 秒のタイムアウトの前に completionHandler が実行されると機能します (テストは成功します)。

ただし、completionHandler が呼び出されず、期待が満たされない場合、waitForExpectationsWithTimeout を呼び出したときにテストが失敗する代わりに、EXC_BAD_ACCESS が返されます。これは、テスト スイート全体の結果を確認することが不可能になるため、あまり便利ではありません。

これを回避し、通常のテストの失敗を得るにはどうすればよいですか?

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

ios - XCTestCase にテスト データを挿入する方法はありますか?

私が取り組んでいるプロジェクトの簡単なテストケースを書き込もうとしています。入力を受け取り、その入力に対する操作の結果に応じて true/false を返す単純なメソッドがあります。ベースケースユニットテストは正しいですか?Java では、TestNG というフレームワークを使用して、テストにデータを挿入し、各データ入力が個別のテストと見なされるようにすることができます。私が Objective-C で見つけたのは、このようなことは不可能な JUnit に似たものをモデル化するということです。代わりに、セットアップまたはどこかにアレイを作成し、アレイを手動でループしてテストを実行する必要があります。これは、X 入力値の X テストではなく、X 入力値の単一のテストと見なされることになります。

私が求めていることは、Objective-C では現在不可能ですか? 最新の XCode を使用し、iOS8 でコーディングしています。

前もって感謝します!--マイケル

私の推測では、XCTesting フレームワークは jUnit とまったく同じように構築されています。つまり、私の質問に対する答えは NO です。間違っていたら聞いてみようと思いました。

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

ios - xcodebuild は XCTestExpectation を使用して非同期テストを実行できませんか?

3 つの非同期テストがあります。Xcode 内でテストするとすべて正常に動作しますが、テスト ケースを xcodebuild でビルドすることはできません。XCTestExpectation に関連する 11 のビルド エラーが発生します。

例:

最新のコマンド ライン ツール (Xcode 6.1.1) を使用しています。xcodebuild -version はそれを正しく述べています。

次のコマンドでビルドを実行しています

非同期テストとそれに対応するテストをコメントアウトすると、すべてが同じコマンドで完全に実行されます。

編集:これはテスト方法の1つです。

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

objective-c - Nocilla で非同期ネットワークをテストすると、テストがブロックされる

Nocilla によってスタブ化された、ネットワーク呼び出しを行う非同期的に応答するメソッドを持つクラスをテストしようとしています。

テストを単独で実行すると、テストは正常に実行されます。しかし、テストスイート全体を起動するとすぐに、ここでしばらくブロックされ、次のように終了します。

ここに私のテストクラスがあります:

何がうまくいかないのですか?

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

objective-c - XCTest は、期待値を使用して失敗する必要がある場合に合格します

バックグラウンドで実行され、終了時にコード ブロックを実行するメソッドをテストしています。テストの非同期実行を処理するために期待を使用しています。動作を示す簡単なテストを作成しました。

このXCTFail(@"fail test");テストでは回線は失敗するはずですが、テストは成功しています。

また、これはコールバックで実行されたコードに時間がかかる場合にのみ発生することにも気付きました (私の場合、ファイル システム上のいくつかのファイルをチェックしていました)。これがusleep(50);、ケースを再現するために線が必要な理由です。

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

swift - テスト用の迅速なネストされた関数セレクター

これが私の状況であり、おそらくこれを行う簡単な方法があります:

通知を使用するものをいくつかテストしていますが、期待をクラスレベルのオプション変数として定義する必要がなかったので、通知ハンドラーがアクセスできるようにそれらを関数のローカル変数にできるかどうか疑問に思っていました彼ら。

私の試みは、トップレベルのテスト関数内のネストされた関数として通知ハンドラー関数を作成することでした-しかし、通知ハンドラーに何を呼び出すように指示する必要があるかわからないため、セレクターの命名の問題に遭遇しました

セレクターが見つからないため、コードがクラッシュしています。

1) これは有効ですか?

2) セレクターを見つけられるように、セレクターに正しく名前を付けるにはどうすればよいですか?

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

ios - swiftおよびxctestフレームワークを使用してJSONオブジェクトを識別する方法は?

を使用しNSJSONSerialization.JSONObjectWithData(..)て、JSON オブジェクトを作成できます。しかし、オブジェクトタイプを識別することは可能ですか? JSONオブジェクトかどうか。

Swift と XCTestFramework を使用して確認しようとしていました。さまざまな方法を試しましたが、まだ解決策はありませんか?

注: JSON オブジェクトの作成後、値を取得でき、値を確認することもできます。XCTest フレームワークは、これらのタイプのものをテストするために正常に動作しています。しかし、私はオブジェクトの種類を特定することにこだわりました。

Swift と XCTest フレームワークを使用してプログラムで JSON オブジェクトを識別する方法は誰にでもあります

Update:たとえば、Web サイトのテストでは、次のことができます。

JSONで上記のようなことは可能ですか?