問題タブ [robolectric]
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 - Robolectric は、メソッドが呼び出されたことをアサートできますか?
次のようにレイアウトで定義されたボタンがあります。
はonClick
、次のようなアクティビティのメソッドにバインドします。
Robolectric を使用して、そのアクティビティ用の簡単なテスト クラスを作成できます。ボタンを呼び出すテストが可能かどうかを知りたいのですが、アクティビティのメソッドが正常に呼び出されたことを確認します。
(私はアプリ全体にたくさんのボタンを持っているので、なぜ私が気にしないべきかについて誰かが提案しない限り、それらが正しく配線されていることを確認するためのテストを行うつもりです)
java - ディレクトリを変更するためのJVMコマンドラインオプションはありますか?
要するに、私は知りたいのですが、開始作業ディレクトリを変更するためのJVMコマンドラインオプションはありますか?重要な場合は、jdk1.6.0_24を実行しています。
バックグラウンド:
Robolectric for Eclipseというツールを使用して、エミュレーションなしでホストPC上のAndroidアプリケーションをテストしています。Robolectricではテストプロジェクトを作成する必要がありますが、テスト自体はテスト対象のAndroidプロジェクトから実行する必要があります。これは、Eclipseから、「選択したプロジェクト、パッケージ、またはソースフォルダーですべてのテストを実行する」という設定でテスト対象のプロジェクトに実行構成を設定することで実現されます。
私が使用している別のツールであるInfinitestでは、テストの作業ディレクトリを指定できないため、可能であれば、JVMコマンドラインオプションからこれを実行したいと思います。ただし、JVMコマンドラインオプションを指定することはできます。
回避策:
より良い回避策が見つかるまで、成功したklugeは、AndroidプロジェクトからAndroidManifest.xmlとresフォルダーをコピーすることでした。
android - Android:RobolectricとMockitoを使用したAndroidアプリケーションの単体テスト
AndroidAPIのいくつかのものを使用するJavaライブラリがあります。Mockitoを使用して、このライブラリの単体テストを作成したいと思います。
これについて私が行くことができる方法はありますか?
MockitoはDalvikVMではうまく機能しません。この投稿を参照してください:Android仮想マシンでのMockitoの使用
アップデート:
この投稿以来、私はRobolectricを発見し、Pivotal Labsで作業して、このライブラリに少し貢献する機会がありました。Androidテストフレームワーク/mockitoよりもこれを使用することをお勧めします。また、Robolectric AND Mockitoは自由に使用できますが、Robolectricのシャドウオブジェクトにより、ほとんどのユースケースでMockitoは不要になります。
Androidの単体テストを試みる際の問題は、構築するAndroidライブラリに、スタブ例外をスローするかnullを返すためにすべてのメソッドがスタブアウトされていることです。アプリをテストしてAndroidの動作を確認したい場合は、クラスの読み込み時にバイトコードをその場で書き換え、動作をシミュレートするシャドウオブジェクトを挿入するRobolectricを使用しない限り、運が悪いことになります。
更新2:
久しぶりに状況が変わりました。RobolectricのShadowクラスの多くは、実際のAndroidクラスに置き換えられました。現在、実際のAndroid jarが使用されており、Robolectricは、はるかに小さなセットのシャドウクラスのみをロードします。これは、AndroidのテストにRobolectricを使用する理由の1つです。
java - AndroidRobolectricパッケージが見つかりません。不明なパッケージ:apk
こんにちは私はテストを機能させるためにmavenandroidプラグインとrobolectricを使用しようとしています。現在、src / testの下にあるテストクラスが1つだけあります。これを機能させるために、ここの指示に従いました:http: //pivotal.github.com/robolectric/maven-quick-start。 html
更新:ここに投稿してくれた人のアドバイスに従いました。これが私の最新のPom.xmlとコンパイル出力です。
これが私のPom.xmlです:
mvn clean installの出力:
dependency-injection - RoboGuice.newDefaultRoboModule()を使用して単体テストを行おうとすると、Roboguice2.0b3およびRobolectricで失敗します。
私はRoboGuice2のastroboyのサンプルコードとドキュメントを見てきましたが、正直に困惑しています。皆さんが私が試すことを手伝ってくれることを願っています。ここでの目標は、モジュールをテストして、モジュールがロードされていること、およびIoCが機能している/配線されていることを確認することです。
私のモジュールは2つの点で異なります...私のモジュールはライブラリクラスにあり、構文は同じです。
また、valueフォルダーのライブラリクラスにroboguice.xmlがあります
テストプロジェクトは、ライブラリプロジェクトを参照およびエクスポートするアプリプロジェクトを参照します。
テストプロジェクトでは、次のようになります。
セットアップ中は、常に何らかのnull例外でエラーが発生します。私はこれを、特にnewDefaultRoboModuleメソッドで分解しました。Robolectric.applicationがnullではないこと、および新しいMyTestModuleもnullではないことを知っています。デバッガーをステップスルーしたときに、MyTestModule.binderがnullであることがわかったので、それが問題であるかどうかはわかりません。
エラースタックトレース:
他にどこを見ればいいですか?私は、これらすべてがテストによってどのように結合するかについて迷っています。
見てくれてありがとう、ケリー
android - 特定のcontentViewがRobolectricを使用して設定されていることをどのように主張できますか?
次のサンプルが与えられたonCreate()
私がやりたいのは、このアクティビティを単体テストして、アクティビティの作成時に渡されるエクストラに応じて、どちらかのコンテンツビューセットを取得できることを確認することです。
私のロボレクトリックテストでは、これまでに次のことがあります。
どうすればこれを達成できますか?APIを調べたところ、コンテンツビューを見つける明確な方法がわかりfindViewById()
ませんでしたが、個々のビューアイテムではなくレイアウトが必要です。
ありがとう
android - Robolectric "警告: Android SDK へのパスが見つかりません"
ビルドに Maven を使用せずに Robolectric を使用しています。つまり、Robolectric-withdependencies Jar を使用しています。
Robolectric のサイトの指示に基づいてセットアップしましたが、まだ WARNING: Unable to find path to Android SDK" エラーが表示されます。このリンク(最初の回答) を見つけました。このリンクには、問題の原因が記載されていますが、記載されていません。この問題を解決するにはどうすればよいか答えてください。
私は新しく、投稿されたことはありません。通常、しばらくブラウジングした後に解決策を見つけることができるからです。しかし、解決策を見つけることができませんでした。何でも役に立ちます。ありがとう。
android - Robolectric で実際の http リクエストを行うことは可能ですか?
私が robolectric で抱えている問題は、実際の HttpRequests を作成しないことです。
robolectric の HttpClient 実装を、実際にローカル テスト サーバーへの呼び出しを行う実際のものに置き換えることはできますか?
android - 単体テスト ArrayList
私のアプリケーションでは、XML ファイルの内容を 2 つの配列に解析します。私の単体テストでは、テスト対象のアクティビティからこれらの ArrayLists を取得して、たとえば正しい長さと内容が正しいことをテストするにはどうすればよいですか? 現在使用している方法では、解析が正しく機能していることはわかっていますが、配列は常に null です。(解析メソッドは、テスト中のアクティビティの onCreate() メソッドで呼び出されます。)
TroubleShooterActivity のコード
android - Robolectric は、タブが予期されるアクティビティをロードすると主張できますか?
それぞれがアクティビティを指している 2 つのタブがあるアクティビティがあるので、合計で 3 つになります。
LoggedInActivity > MyProfile または MyBadges
}
私の質問は、Robolectric テストを設定して、タブ ラベルをクリックしたときに正しいタブ アクティビティが表示されることを確認するにはどうすればよいですか?
以前のアクティビティからアクティビティへのアサーションでは、次のようなことをしました。
しかし、Robolectric でタブをテストする方法に関するヘルプ、ヒント、チュートリアルが見つかりません。JavaDocs でさえ、少しまばらに見えます
どんな助けでも大歓迎です
EDIT 1: APIでより適切なクラスを指摘された後、これは私がこれまでに思いついたものです:
次の失敗で:
タブをテストする方法を理解できていませんか?