問題タブ [servicetestcase]

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 投票する
2 に答える
3039 参照

java - ServiceTestCase.getService?

Androidで有効なjunitテストスイートを構築しようとしています。

私はJunitを初めて使用するため、ServiceTestCaseクラスの使用方法がわかりません。

getService()メソッドを機能させる方法がわかりません。nullを返します。だから私はstartServiceを介してそれを開始することにしました。それは動作しません。

手伝っていただけませんか ?

ありがとう

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

android - android:junit レポートの生成

android.Testcase で junit テストケースを実行した後に HTml レポートを生成したいのですが、タイプは AndroidTestCase 、ProviderTestCase 、および ServiceTestCase です。このためのjunitレポートタスクは次のとおりです:-

このタスクは空白の HTML レポートを生成しています。

0 投票する
4 に答える
2707 参照

android - ServiceTestCase で AsyncTask.onPostExecute() が呼び出されることはありません

ServiceTestCase を使用してサービスの単体テストを作成しています。

サービスは基本的に、何らかの作業を行う AsyncTask を実行してから、onPostExecute() で別の処理を行います。

(仮想) デバイスでサービスを実行してデバッグすると、サービスは期待どおりに機能します。

しかし、ServiceTestCase を拡張するテストでは、doInBackground() にしか入りません。メソッドが戻ると、onPostExecute() は呼び出されません。AsyncTask が作業を完了する時間があるように、テストを sleep() にします。

これは簡略化されたサービスです。

これはそのためのテストです:

ServiceTestCase が提供する環境は多少限定されているのでうまくいかないのではと思うのですが、何かできることはありますか?

乾杯、トルステン

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

android - 単体テストで PendingIntent を使用してサービスをテストする

サービスの開始に使用されるインテントに追加された を使用して、リクエストに (つまり、アクティビティから) 結果を返す(IntentService実際にはWakefulIntentService !) があります。以前に使用しましたが、リクエストの処理中にデバイスがスリープ状態になったり回転したりするとクラッシュすることがわかりました。PendingIntentResultReceiver

このサービスの単体テストとして、ServiceTestCase<Service>クラスを使用しています。ResultReceiverサービスに渡されたインテントに追加できるため、使用時に問題なく機能しました。ただし、 Activity のメソッドServiceTestCaseは含まれません。createPendingResult

したがって、このサービスをテストするための最良のアプローチは何だろうと思います。ActivityUnitTestCase単体テストにActivityInstrumentationTestCase2 を使用する必要がありますか? または、より良いアイデアはありますか?

ところで、私は Android Dev を読みました。サービスに関するガイドの章は次のとおりです。

「しかし、サービスが結果を送り返すようにしたい場合、サービスを開始するクライアントはブロードキャスト用の PendingIntent を (getBroadcast() を使用して) 作成し、それをサービスを開始するインテントでサービスに配信できます。サービスは、その後、ブロードキャストを使用して結果を配信できます。」

アクティビティにローカルなブロードキャストを使用するIntentServiceことは、私にはやり過ぎに思えますが、それについて他の人の意見を聞くことができれば幸いです。

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

android - android Junit ServiceTestCaseのsetUpメソッドのアセットからファイルをコピーするにはどうすればよいですか?

私はAndroidサービス実装用のJUnitテストコードを書いています、そして私はsdcardにコピーされたいくつかのファイルでテストを初期化する必要があります。私のクラスの署名は次のようになります。

このヒントを使用してアセットからファイルをコピーしようとしていますが、getAssets()メソッドはActivityクラスを拡張する必要があります。

だから..Androidでjunitテストを設定するためにアセットからSDカードにファイルをコピーするにはどうすればよいですか?

よろしくお願いします。

追伸:

'getSystemContext()。getAssets();'、'getContext()。getAssets();'、'getApplicationContext();' テストプロジェクトコンテキストではなく、サービスプロジェクトコンテキストを返します。

現在、インストルメンテーションを使用しようとしていますが、アクティビティが必要であり、サービスプロジェクトで作業しています。アクティビティなしでインストルメンテーションを使用する方法を探しています...

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

android - Android の ServiceTestCase はできますかサービスにメッセージを送信しますか?

バインドされたサービスを ServiceTestCase でテストしたいと考えています。テストは、MyBindServer へのバインドとメッセージの送信で構成されます。ログを見ると、onBind() が呼び出されたときにサービスが開始され、testAHello() からメッセージが送信されていることがわかりますが、サーバーの handleMessage() は呼び出されていません。

ログから:

MyBindServer.java のコードは次のとおりです。

MyBindServerTest.java のコードは次のとおりです。

0 投票する
5 に答える
5371 参照

android - Android ServiceTestCase for IntentService

現在、Android アプリケーションの単体テストを作成していて、次の問題に遭遇しました。

を使用して、次のようServiceTestCaseにテストします。IntentService

ただし、自分IntentServiceが作成されていることに気付きました(onCreate呼び出されたことを意味します)が、への呼び出しを受け取ることはありませんonHandleIntent(Intent intent)

クラスですでにテストした人IntentServiceはいますか?ServiceTestCase

ありがとう!

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

android - ServiceTestCase null ポインターの MockContentResolver

TDD風の方法でサービスを作成しようとしています。そのために、次のテストを作成しました。このサービスは、基本的に Web サービスをポーリングし、新しい情報をコンテンツ プロバイダーに入れます。これはサービスであるため、テストのオラクルとして情報を格納するコンテンツ プロバイダーを使用しています。

私がやりたいことは、これを達成するために MockContentResolver を作成することだと思いますが、ProviderTestCase2 クラスの外にはその例がありません。このスクリプトを実行すると、addProvider 行のポインタが null になります。

モックアウトされたコンテンツリゾルバーを作成/アクセスする例はありますか? ServiceTestCase で?

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

android - Android ServiceTestCase を実行できません

ServiceTestCase を拡張して実行するテスト ケースを取得できません。実行されていないだけでエラーはありません。

AndroidTestCase を拡張する他のテスト ケースは実行されます。

プロジェクトは次のように設定されます。

サービスを含む Android ライブラリがあります。そのマニフェスト ファイルは次のとおりです。

Android ライブラリ プロジェクトには、フォルダー test (Android ツールを使用して作成) にテスト プロジェクトが含まれています。

これには、次のような AndroidManfiest.xml が含まれています。

テスト プロジェクトには、以下を含む build.properties もあります。

テスト済み.project.dir=..android.library.reference.1=..

ant clean run-tests を実行してテストを実行します。

ServiceTestCase テストを実行するにはどうすればよいですか?

前もって感謝します。

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

android - Android の TestCase 内でサービスを開始する

テスト ケースからサービスを開始/バインドする方法。ServiceTestCase を使用してみましたが動作しません