問題タブ [xctestcase]
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.
xctest - IOS UI テスト - カメラとファイル チューザーを開くためのテスト ケースの作成方法
XCTest フレームワークを使用して IOS のテスト ケースを作成しています。ユーザー プロファイルを設定するための写真を選択したいのですが、これには次の 2 つの方法があります。 1. カメラを使用して画像をキャプチャします。2. ファイル チューザーから画像を選択します。
次の問題があります: 1. シミュレーターでこのテストを実行しています。では、カメラにアクセスするにはどうすればよいでしょうか。2. [フォト アルバムで選択] をクリックして、ページ ファイルの選択ページを開くことができます。ただし、ページ ファイル チューザー ページのタップを検出できません。
私のコードは次のとおりです。
2行目でエラーが発生します:NSInternalInconsistencyException無効なパラメーターが満たされていません
上記のケースに関するドキュメントは 1 つも見つかりませんでした。
ios - モックUIViewControllerに手動でインスタンス化した後、UIViewがnilになるのはなぜですか?
UiViewController
XCUnitTests で s をテストしています。
UIViewController
メソッド呼び出しをキャプチャするために、 をモックする必要がある場合があります。たとえば、performSegue
呼び出されたかどうか。
私がテストするメソッドの 1 つ ( などviewDidLoad
) が IBOutlet にアクセスすることがあります。カスタム モック サブクラスを作成し、mockViewController.textfield = UITextField()
すべてがうまく機能すると言うと。
UIView
ただし、 aまたは aを手動でインスタンス化したい場合、 a の初期化子がnil を返すことはできませんがUIStackView
、変数はまだ nilです。UIView
なんで?
たぶん、これはUIView
s とUIStackView
s が固有のコンテンツサイズを持たないことに関係していますか? これを修正するにはどうすればよいですか?
macos - テスト ターゲットのアセット カタログからの NSImage
単体テストのターゲットは、一部のテストで使用する画像リソースを読み込む必要がありますが、読み込みに問題があります。
- テスト ターゲット内にアセット カタログを作成しました。
- 新しい画像セットリソースをカタログに追加し、[デバイス] の [Mac] ボックスをオンにして、そのソース画像を両方の解像度 (@1x と @2x) に設定しました。
テスト ターゲットの「バンドル リソースのコピー」ビルド フェーズを確認しましたが、アセット カタログが含まれています。
アセット カタログとイメージ セットのターゲット メンバーシップを確認しましたが、実際にテスト ターゲットです。
テストを実行するとき、以下のようなコードを使用して画像を読み込もうとしています:
...しかし、ガードは失敗します。
私も試しました:
...しかし、最初のガードは失敗します (リソース パスを取得できません)。
両方の形式を試しました
と:
も試しBundle.urlForImageResource(_)
ましたが、失敗します。
同様の質問と回答を見たことがありますが、それらはiOSまたはアプリ(メイン) バンドルのリソースに適用されます。
私は何が欠けていますか?
アップデート:
その間、テスト イメージをスタンドアロンのイメージ リソース (アセット カタログを使用しない) として追加し、次のコードでロードすることで問題を回避しました。
この場合、複数の解像度をサポートする必要はありません (私の画像は画像処理アルゴリズムのソースです。必要な最高解像度であると既に想定されています)。サポートしたとしても、.pngから切り替えるだけです。 .tiffに、私は推測します。
問題は、イメージをロードするバンドルを指定できる'sに似たイニシャライザNSImage
がないことです(2 番目の引数)。UIImage
init(named:in:compatibleWith:)
代わりに、特定のバンドル ( 以外main
) にリソース URL を作成し、そこからイメージをインスタンス化するように依頼することもできます (上記のように) が、これはアセット カタログと互換性がないようです。詳細情報は大歓迎です...
swift - 正しくないセル数を返す XCTest Element クエリ数
Xcode 9、Swift、XCUI テストの使用
テーブルに表示される結果の数をテストしようとしていますが、結果の 2 番目のセット/ページがテーブルに読み込まれると、正しくないセルの数/カウントが返されます。
表には 1 ページあたり 50 個のセルがあります。最後のセルが読み込まれると、次の 50 個のセット (または最大 50 個) が読み込まれます。
私のテスト ケースでは、ページに移動すると、最初の 50 個のセルが読み込まれます。セルの .count を呼び出すと、何らかの理由で結果の 2 ページ目を 2 回返す API 呼び出しが行われます。2 ページ目には 20 件の結果が含まれています。終了カウントは 70 (最初のページは 50、2 ページ目は 20) のはずですが、結果の 2 ページ目を 2 回呼び出しているため、カウントは 90 に戻っています。
最後のセルを 2 回呼び出しwillDisplayCell
ています。tableViewController
.count メソッドでこれが 2 回発生するため、セル数が正しくないのはなぜですか? また、UI テストで正しい細胞数を取得する別の方法はありますか?