問題タブ [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 からシャドウ クラスを削除する方法はありますか?
Robolectricにはという名前のシャドウ クラスShadowMatrix
がありますが、使用したくありません。Robolectric から削除するにはどうすればよいですか? Matrix
代わりに元のクラスを使用したいと考えています。
android - PackageManagerをRobolectricでシャドウする方法を教えてください
私のAndroidアプリケーションには、URLを表示する意図を実行する簡単な方法があります。
ユニットテストにRobolectricを使用していますが、このメソッドの検証に問題があります。具体的には、getPackageManager()
は常にnullを返します。どうすればシャドウイングできPackageManager
ますか?を作成しShadowPackageManager
て呼び出してみましたbindShadowClass
が、コードが実行されません-getPackageManager()
常に。を返しますnull
。また、アプリケーションコンテキストをシャドウイングして具象を返そうとしましStubPackageManager
たが、同じ結果が得られました。たぶん私はあまりにも長い間検索/凝視してきました-この方法をユニットテストするためのより良い方法はありますか?
android - データベース テスト Robolectric が機能しない
Android で SQLiteDatabase と通信するための DAO クラスを作成しました。実際のデバイスで簡単なテストを実行すると、動作します。ユーザーをデータベースに挿入して、同じユーザーを取得できます。ただし、Robolectric でこれを実行すると、NullpointerException が発生します。これは Robolectric の問題ですか? コードはこちら
そしてテスト…
android - Android互換パッケージでrobolectricを動作させる
Robolectric を使用して、android-support パッケージを使用している Android アプリケーションのテストを実行しようとしています。私の onCreate() メソッドで私は呼び出します
残念ながら、ここで getSupportLoaderManager() は null を返します。Robolectric で互換性クラスを利用できるようにするために何か準備する必要はありますか?
テスト プロジェクトのクラスパスに android.jar (android-8) と android-support-v4.jar があり、robolectric-1.2 スナップショット バージョンがあります。
テストクラス:
編集:
android.support.v4.app.LoaderManagerImpl@9a90b9 を出力するので、これをアクティビティにフィードバックするだけでよいのでしょうか? ここに近づいているようです。
Edit2: 自分の ShadowFragmentActivity をバインドしようとしました:
縛られた
これは今のところ機能しているようです。それが私が望むことをするかどうかを確認するために、さらに試してみる必要があります。これが何らかの方法で正しい方法であるかどうかはわかりません。
android - RoboGuice2.0およびRobolectric1.1のRoboAsyncTaskのテスト
現在、AndroidアプリケーションでRoboGuice2.0とRobolectric1.1の両方を使用しています。RoboLooperThreadが2.0でなくなっており、RoboAsyncTaskを呼び出すのに問題があることに気づきました。メインのテストスレッドが.execute()
を呼び出すときRoboAsyncTask
、RoboAsyncTaskのcall()
メソッドが呼び出されることはありません。私の質問は、タスクを実行できるように、テストスレッドをUIスレッドとの間で切り替えるように強制するにはどうすればよいですか?
ありがとう、
ヴィンス
android - WebSettingsからのAndroidrobolectricInstantiationException
APIを4.1にアップグレードした後に壊れたいくつかのテストケースの実行に問題があります(関連しているかどうかはわかりませんが、エラーはそう示唆していないようです)
ShadowWebViewの特定のクラスには、行があります
上記の行は
次に、RobolectricInternals.javaにつながり、次のメソッドを実行します
メソッドには次のソースコードがあります。
スローされた例外(上記のエラーログを参照)は、この行が原因です
何が原因で、これを修正する方法がわからないのですが、AndroidのWebSettings.javaは以前は非抽象クラスでしたが、現在は抽象クラスであるため、これが原因だと思いましたが、レベル12(websettings.javaが抽象として宣言されていない)などの古いAPIに切り替えても、同じエラーが発生します
android - Robolectric を使用した DialogFragments のテスト
DialogFragment
Robolectric を使用したクラスのテストについていくつか質問があります。インターネットでこのトピックに関する情報がまったく不足していることに遭遇したからです。
- に渡す正しい引数は何
onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
ですか? に引数を渡すのに問題が
/li>DialogFragment
あります。次のアプローチを使用しています。
コードが引数にアクセスしようとするたびに、NullPointerException
.
これらのトピックに関するアイデアを高く評価します。
android - Robolectric-com.actionbarsherlock.view.MenuItemをモックする方法は?
SherlockActionBarを使用するアプリのRobolectricを使用してテストを作成しようとしています。が選択されている場合、アプリケーションが正しいことを行うかどうかをテストする必要がありますが、Robolectric libは、アプリがメソッドを使用している間、モックのみを提供します。MenuItem
android.view.MenuItem
onOptionItemSelected(com.actiombarsherlock.view.MenuItem)
だから私の質問は:
をあざける可能性があるかもしれ
com.actionbarsherlock.view.MenuItem
ませんか?または回避策か何か?
前もって感謝します...
android - Robolectric: findViewById が null を返す
Robolectric で非常に簡単なテストをしようとしています。ビューが存在するかどうかをテストしたいと思います。これは、Robolectric の Web サイトの例と非常によく似ていますが、findViewById
null を返し続けます。
何が問題なのですか?
これは活動です:
これはテストです:
レイアウト XML ファイルにImageView
は正しい ID とリソースが含まれているため、エミュレーターでアクティビティを実行しても問題なく動作します。
android - Robolectricは現在Spinnerをサポートしていないというのは正しいですか
SpinnerでDialogをテストしようとしましたが、次のようになりました。
Robolectricが現在Spinnerをサポートしていないというのは正しいですか?
また、シャドウを登録することはできませんか?