問題タブ [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.
ios - 非同期待機に失敗しました: 10 秒のタイムアウトを超えました。期待が満たされていません: "messaage"
POST API 呼び出しを行っています。UI テストを実行していて、URL の応答を確認したいと考えています。しかし、このテストを実行するとエラーが発生します。
エラー: 非同期の待機に失敗しました: 10 秒のタイムアウトを超えました。期待が満たされていません: "messaage"
これが私が呼び出しているテスト関数です。
主な機能:
ios - 複数の期待により、waitForExpectationsWithTimeout でクラッシュが発生する
XCTestExpectation を使用して Xcode でテストしている非同期関数を次に示します。
コードをテストするために、各非同期呼び出しが完了するまで待機する 3 つの期待値を作成しました。
デフォルトを使用して期待が満たされるのを待つとき
しかし、これによりSIGABRT
次のエラーが発生します*** Assertion failure in -[XCTestExpectation fulfill], /Library/Caches/com.apple.xbs/Sources/XCTest_Sim/XCTest-9530/XCTestFramework/Classes/XCTestCase+AsynchronousTesting.m:450
を使用して関数を正常にテストしましたが、それは機能しdispatch_groups
ます。しかし、XCTestExpectation が複数の期待に対して例外を発生させている理由を理解できませんでした。
ios - バックグラウンド スレッドで XCTestExpectation を満たすメソッドを呼び出すのは安全ですか?
私はXCTestExpectation
多くのテストで使用していますが、時々(非常にランダムに)いくつかの期待が満たされないことがあります(そうあるべきだと確信していますが)。
この問題を調査しているときに、一部の期待はメイン スレッドで満たされ、一部はバックグラウンド スレッドで満たされていることに気付きました。そして、これまでのところ、これらの問題はバックグラウンド スレッドで解決されたものです。
バックグラウンド スレッドからの期待を満たすことは安全ですか? それに関する明確な情報は見つかりませんでした。
以下は、私がどのように使用するかの例ですXCTestExpectation
:
objective-c - iOS9 XCTest - ブロックなしで非同期ケースをテストするために期待を使用する方法は?
私はiOS9 の期待を使用して非同期テストを使用するこの例を見ています。これは、期待を満たすことができる完了ブロックを持つネットワーク要求やその他の操作に適しています。
ただし、コールバック ブロックを使用しないクラスを単体テストしようとしています。これまでのところ、以下のコードが時々機能することがわかりましたが、正しいアプローチを使用しているかどうかはわかりません。
アプリがバックグラウンドで何かを実行している間、テスト ケースを遅らせるにはどうすればよいですか? この場合、実行セレクターを使用して何かをチェックし、タイムアウト前にそのバックグラウンド スレッドからの期待を満たすことはできますか?
ios - XCTest アサートの期待が満たされませんでした
XCTest と XCTestExpectation を使用して特定の非同期テストを作成するときに、特定のブロックが実行されなかったことをアサートしたいと思います。次のコードは、ブロックが実行されたことをアサートすることに成功し、そうでない場合、テストは失敗します。
これを逆に実行する明確な方法はないようです。ブロックがタイムアウト後に実行されなかった場合はテストが成功し、タイムアウト前に実行された場合は失敗します。これに加えて、後で別の条件が満たされたときにブロックが実行されたと主張したいと思います。
XCTestExpectation でこれを行う簡単な方法はありますか、それとも回避策を作成する必要がありますか?
swift - Swift と XCTest を使用して、オブジェクトが画面に表示されなくなるまで待ちます
指定された要素がページに存在しなくなるまで待機するメソッドを作成するためのヘルプを探しています。私は Swift 2.2 と XCTest で開発しています。ご覧のとおり、私はここにいるのは初めてで、プログラミングも初めてです。どうぞよろしくお願いいたします。
class - XCTest: どの XCTestExpectation が 'fulfill' を呼び出したかを知るにはどうすればよいですか?
デリゲートを持つクラスをテストしています。もちろん、デリゲートはテスト クラスであり、デリゲート メソッドの実装から、さまざまな期待値を呼び出します。
テストクラスから、どの期待が「満たす」と呼ばれるかをどのように判断できますか?
ios - XCTestExpectation のサンプル ios
Objective C で xctest を使用して Web サービスの応答をテストしたいと考えています。
使用中に問題が発生しました
また
正しい使い方を理解できるように、チュートリアルのリンクや例を知っている人はいますか?
ありがとう
swift - ヘルパー メソッドから呼び出される XCTestCase 拡張機能は、メイン テスト ケースに設定されたプロパティをどのように知ることができますか?
バックグラウンド
次のテストは、XCTestCase の拡張であるメソッドを呼び出します。目標:
waitForElementExists
要素が存在するか、またはwaitForElementExists
要素が指定された時間内に存在しなかったため、メソッドはそれを呼び出したテスト ケース/setUp メソッドに失敗しました
メソッドを待機する UI オートメーション XCTestCase 拡張機能:
waitForExpectationsWithTimeout が正しく機能する例
テストケース
これはうまくいきます!testSample
呼び出されることはありません。
しかし、waitForElementExists 呼び出しをヘルパー メソッドに移動するとどうなるでしょうか。
waitForExpectationsWithTimeout が正常に返されるが、返すべきではない例
ここでは、アサーションが発生しなかったかのようにテスト ケースが続行されます。にブレークポイントを配置すると、それが true に設定されていることがwaitForElementExists
わかりcontinueAfterFailure
ます。したがって、メインのテスト ケースと同じコードに接続されていないことは明らかです。