問題タブ [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.
android - TestProject の Android コンテキスト
AndroidのJUnit Frameworkを使用して自動化テストシナリオを実現しようとしていました。1 つの非同期シナリオを含めたかったので、CountDownLatch を使用しました。
サービスの ServiceTestCase を使用してテストケース ファイルを作成しました。サービスは、スレッドを使用して非同期操作を自動的に開始します。非同期操作を行った後、結果が得られます。この結果は私が主張しようとしています。操作が失敗した場合は、非同期操作を再度試みます。今起こっていることは、操作が失敗した場合、操作をやり直そうとすることです。この場合、コンテキストをnullとして取得しています。
テストケースからサービスを開始すると、しばらくするとコンテキストオブジェクトがnullになりますか? ガベージコレクションはいつですか?
私が使用しているサービスはリモート サービスです。それは問題を引き起こしていますか?
}
サービスの onCreate で、大量のネットワーク操作を行う Network クラスをインスタンス化しています。操作が失敗した場合は、ブロードキャスト通知を送信します。これで、通知を受信してネットワーク操作を再開する BroadcastReceiver が 1 つ登録されました。この BroadcastReciever では、null になるブロードキャスト コンテキストが必要です。
android - ServiceTestCaseがサービスを開始していません
私は自分のAndroidアプリケーション用にいくつかのJUnitテストを書き込もうとしています。アプリケーションはサービスです。
ServiceTestCaseにサービスを起動させるためにいくつかのことを試みましたが、失敗します。
ただし、ServiceTestCaseをデバッグすると、サービスが起動します。これは、ServiceTestCaseがセットアップを呼び出しており、サービスを強制終了する前にサービスを起動するのに十分な時間がないためだと思います...
完全にはわかりませんが、Androidでjunitテストを使用したのはこれが初めてです。これは非常に新しいです。この問題を解決するために私ができることについて何か提案はありますか?
タイマーループか何かを作ることを考えていましたが、それは本当に汚いようです。よりクリーンなアプローチを希望します。
android - AndroidのServiceTestCaseで実際のApplicationオブジェクトを使用するにはどうすればよいですか
ServiceTestCase が提供する MockApplication ではなく、実際の Application オブジェクトを必要とするサービスをテストしようとしています。
ServiceTestCase で実際の Application オブジェクトを作成するにはどうすればよいですか?
android - カスタムテスト後に testServiceTestCaseSetupProperly(...) が呼び出されるのはなぜですか?
シンプルな ServiceTestCase とライフサイクル メソッドのみを含む空の IntentSerice があり、サービスは AndroidManifest.xml にも登録されており、アクション タグ「com.tut.my.service.DATAUPDATE」も登録されています。
Service の呼び出しは非常にうまく機能し、すべてのライブ サイクル メソッドが順番に表示されますが、カスタム テストの終了後に奇妙なことが起こります。ServiceTestCase は、カスタム テストの後にメソッドtestServiceTestCaseSetUpProperly()を発行して、 setupService()が正しく実行されることを確認しました。
だから私は周りを見回して、いくつかの興味深いブログの懸念 setupService() を見つけましたが、結論は満足のいくものではありませんでした。ブログの著者は、いくつかの正当な理由により、setUp()でstartService(...)を呼び出さないことをお勧めしています。
ただし、カスタム テストの後に testServiceTestCaseSetUpProperly() を呼び出すことで発生した問題は、MyService サービスの新しいインスタンスの呼び出しです。これにより、onCreate が呼び出され、サービスが何らかの理由で終了しますが、すべてのテストは成功します。
サービスのソースは次のとおりです。
ServiceTestCase のソースは次のとおりです。
対応する (削除された) LogCat 出力:
問題は、なぜ testServiceTestCaseSetupProperly() が最初ではなく最後に呼び出されるのかということです。そして、MyService オブジェクトがあまりにも無残に死ぬ理由。
編集:より正確にするには:
私の懸念の重要な部分は、onCreate への失礼な呼び出しです。
- onCreate でリソースを割り当てる場合、割り当てられたリソースをクリーンアップするように誰が主張しますか?
- すべてのテストの最後に、適切なサービス設定のチェックが開始されるのはなぜですか?
- とにかく殺されるのはなぜですか?
java - ServiceTestCase の getSystemContext() が null を返す
以下のコードでテストしましたが、getSystemContext() が null を返すため、NullpointerException が発生します。私のプロジェクトは次のようになります。
私が間違ったことを教えてください。
android - AIDLにJUnitを使用して自動生成されたJavaファイルをテストする方法
プロジェクトのJUnitテストケースを作成するためにEclipseを使用しています。私のプロジェクトには、AIDLに基づくバインドされたサービスが含まれています。プロジェクトを実行した後、genフォルダーにAIDL用の自動生成されたJavaファイルを取得します。
このファイルには、次のようなメソッドを持つStubクラスが含まれています
およびメソッドを持つProxyクラス
また、私が作成したいくつかのメソッド。JUintTestを使用して上記のメソッドをテストしたいと思います。ServiceTestCaseを使用してこれらのメソッドをテストすることは可能 ですか、それとも他の方法を使用してこれをテストできますか?
android - すでに利用可能な Android 用のテストケース
Android junit で使用できるオープン ソースのテスト ケース コードはありますか。たとえば、Android メディア プレーヤー、コンテンツ プロバイダーなどのテスト ケースはありますか? Google で検索しましたが、関連するリンクが見つかりません。現在テスト ケースを使用してテストしていますが、テスト ケースが既に利用可能かどうかを知りたいです。それらも再利用する予定です。
android - ServiceTestCase で stopService 時の NullpointerException
を使用してサービスをテストしていますServiceTestCase
。
しかし、テストを実行すると、コールバックで呼び出すと常にNullPointerExceptionが発生します。なんで?stopService(intent)
tearDwon()
スタックトレース:
android - Android サービス: 依存性注入?
ServiceTestCaseを使用してサービスの単体テストを試みていますが、Guice または RoboGuice を使用せずに実行しようとしています (依存性注入フレームワークを回避するため)。Application または Context 以外の依存関係を挿入したいのですが、うまくいきません:
- カスタムコンストラクターを介して挿入できません
- setupService()は、名前に基づいて適切なメソッドのように見えますが、引数も戻り値もありません
ユーティリティ クラスにParcelableを実装させ、Intent を介して注入することもできますが、それは強制されているようです。何か案は?