問題タブ [android-testing]

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

android - Androidユニットテスト:アクティビティがUIを更新するのを待つ方法

アクティビティ内でUIをテストしようとしています。ただし、このアクティビティはいくつかのバックグラウンドネットワーク操作を実行し、応答の更新時に、テストしようとしている実際のコンポーネントへのフラグメントを更新します。

画面にまだレンダリングされているビューでAssertNotNullを試行しているため、単体テストが失敗します。

アクティビティがこのバックグラウンド操作を実行し、すべてがセットアップとテストの準備ができている必要があることを単体テストに通知するにはどうすればよいですか?

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

android - コードからActionBarのUpボタンを呼び出す

ActionBarを有効にしてAndroidアプリを作成しています。私の場合、互換性を提供するためにActionBarSherlockを使用していますが、この場合は問題ではないと思います。

アクティビティのActionBarの左側に[上へ]ボタンが表示されています。を呼び出した後に表示さsetHomeAsUpEnabled(true);れ、HomeActivityにつながります。

上ボタンを押すとそのHomeActivityにつながることを確認するテストケースを作成したいと思います。Robotiumを使用してUI側でテストを記述しているので、アサーションに従って現在のアクティビティのクラスを確認できsolo.assertCurrentActivity(HomeActivity.class); ますが、上ボタンを押す方法が見つかりません。

試しましsolo.clickOnView(solo.getView(android.R.id.home))getInstrumentation().invokeMenuActionSync(solo.getCurrentActivity(), android.R.id.home, 0);が、どれも機能しません。

どんな助けでもいただければ幸いです。

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

android - プロジェクト内のAndroidユニットテスト

メインプロジェクト内からAndroidテストプロジェクトを作成しようとしています。この質問とまったく同じAndroid:メインプロジェクト内でテストプロジェクトを使用する方法(この質問は古く、まだ答えが見つからないため、これを復活させようとしています)。

基本的にはAndroidのテストと同じように再現したいと思います。これらは文字通り、メインプロジェクト内の単なる/tests/ディレクトリです。「正確なレイアウトについてはリンクを参照してください」。

これが必要な主な理由は、プロジェクトの数を減らして、プロジェクトごとに2つのルートフォルダーを必要としないようにすることです。(別名、テストプロジェクトと実際のプロジェクト)。

それ以来、ビルドには何でも自由に使用できますが、テストを自動的に実行する方法はnantだと思います。

どんな助けでも素晴らしいでしょう、ありがとう。

編集:Eclipseの問題は、このオプションを簡単に提供できないことです(少なくとも私はそれを見つけていません)。目的のディレクトリに移動して/tests/を作成できますが、添付された別のプロジェクトも一緒に表示され、リンクの問題が発生しました。)

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

android - Android で単体テストを実行できない

Mac で Android の単体テストをスクリプト化しようとしています。Eclipse 経由で実行することはできますが、すべてを自動化できる必要があります。

実行中のプロジェクトを作成するには

次のコマンドを実行しようとしています

次のエラーが発生し続けます(テストフォルダーの AndroidManifest.xml が私に与えたものです)

INSTRUMENTATION_STATUS: id=ActivityManagerService INSTRUMENTATION_STATUS: エラー = 以下の計測情報が見つかりません: ComponentInfo{com.roamdata.roampayx/android.test.InstrumentationTestRunner} android.util.AndroidException: INSTRUMENTATION_FAILED: com.roamdata.roampayx/android.test.InstrumentationTestRunner INSTRUMENTATION_STATUS_CODE : -1 at com.android.commands.am.Am.runInstrument(Am.java:616) at com.android.commands.am.Am.run(Am.java:118) at com.android.commands.am. com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) の Am.main(Am.java:81) com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235) の dalvik.system。 NativeStart.main(ネイティブメソッド)

明らかに、これはある種のパスの問題です。私が見逃しているものはありますか?mainproject フォルダーと testsproject フォルダーの両方からコマンドを実行してみました。

何か案は?

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

android - Android 単体テスト パッケージ パス エラー

私は Android Unit Testing と一緒にプラグインしてきましたが、パスの問題と思われるものに遭遇しました。

まず、プロジェクトディレクトリ内からこのコマンドを実行します

これにより、テスト プロジェクトが作成され、初期化されます。自動生成された ActivityInstrumentaionTestCase2 は正常に動作します。ここでテストを作成でき、すべてが機能します。

注: 主なアクティビティは ui パッケージにあることに注意してください。

自動生成された Android_Manifest.xml は次のとおりです。

問題は、新しいテスト ケースを作成しようとするときです。

次に、ビルドしてインストールします (ここでは問題ありません)。しかし、その後、私は実行します

そして最後に、次のエラーが表示されます

RoamPay と RoamPayProvider へのインポートがあります。インテリセンスは機能しており、それらの参照を取得しています。

何か案は?

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

java - Android、JUnitテスト、および失敗したバインダートランザクション

たくさんのテストがあります。さらにいくつか追加すると、が得られE/JavaBinder(1705): !!! FAILED BINDER TRANSACTION !!!ます。これを修正するにはどうすればよいですか?私の現在のハックは、TestSuite私のテストの選択されたサブセットのみをテストする複数のテストを持つことです。これを行うには、より良い方法が必要です。提案?

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

android - ContentResolver.notifyChangeをJUnitテストする方法

私はのテストを書いています、ContentProviderinsertは変更について通知していますgetContext().getContentResolver().notifyChange(mUri, null);

私のテストクラスは拡張しProviderTestCase2ます。次の模擬ContentObserverクラスを作成しました。

これがテストケースです。

呼び出されたことがないようonChangeですが、私もContentObserverMock co = new ContentObserverMock(new Handler());同じ結果で試してみました。

私はここで何を間違っているのですか?

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

android - 視覚的な結果を保持するアクティビティユニットテスト

アクティビティをテストしようとしています。このアクティビティには、リストビューを含むフラグメントが含まれています。リストビュー内に表示されるオブジェクト(データベースから生成されたもの)を渡します。

これをテストとして実行して、データベースにダミーデータを入力し、表示するオブジェクトをアクティビティに渡すことができるようにします。私の問題は、ユニットテストが実際にはダミーデータでフラグメントを操作して視覚的に検査できるように設定されていないことです。テストは実行され、すぐにアプリを閉じます。

誰かがこれをテストする方法について何かアドバイスをすることができますか?または、テストデータベースを作成し、アプリケーションでこのデータベースを使用する、つまりテストフレームワークを使用しない唯一のオプションです。

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

android - 別のプロジェクトから JUnit テスト プロジェクトへのネイティブ ライブラリのリンク エラー

Android JUnit Test の作業中にいくつかの問題に遭遇しました。詳細は以下のとおりです。

Android アプリケーション (テスト対象) と、対応する JUnit テスト プロジェクト (アプリケーションをテストする) があります。また、テスト プロジェクトで使用する予定のネイティブ ライブラリを含む別のプロジェクトがあります。

Eclipse で他のプロジェクトをライブラリとして使用しようとしましたが、JUnit テストを実行すると、「findLibrary が null を返しました」というエラーが表示されます。

これを回避するには、テスト対象のアプリケーションにネイティブ ライブラリを配置し、それを使用します。しかし、テスト ライブラリをアプリケーションに入れたくありません。これに対する解決策はありますか?

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

android - Android:プロジェクト内にテストプロジェクトを作成すると、「ビルド中にエラーが発生しました」というアイデアがありますか?

最新バージョンのEclipse(v4)と最新バージョンのEclipse用ADTプラグインを使用しています。

ドキュメントを読むと、Androidは、私が作成しているプロジェクトと同じ構造内で、testsというディレクトリ(現在のsrcディレクトリと同じレベル)の下にテストプロジェクトを作成することを提案しています。

これを何度も試しましたが、毎回[完了]をクリックするとエラーが発生します。

要素が見つかりません。ビルド中にエラーが発生しました。

他にもいくつかのプロジェクトを作成し、問題が発生した場合に備えてプロジェクト名の間のスペースをすべて削除しましたが、それでもエラーが表示され続けます。

もちろん、現在のプロジェクトの外部でテストプロジェクトを作成することはできますが、ドキュメントによると、テスト対象のプロジェクト内にテストプロジェクトを配置するのが最適な場所です。

何か足りないものはありますか?

前もって感謝します