問題タブ [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.

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

android - Robolectric からシャドウ クラスを削除する方法はありますか?

Robolectricにはという名前のシャドウ クラスShadowMatrixがありますが、使用したくありません。Robolectric から削除するにはどうすればよいですか? Matrix代わりに元のクラスを使用したいと考えています。

0 投票する
6 に答える
10610 参照

android - PackageManagerをRobolectricでシャドウする方法を教えてください

私のAndroidアプリケーションには、URLを表示する意図を実行する簡単な方法があります。

ユニットテストにRobolectricを使用していますが、このメソッドの検証に問題があります。具体的には、getPackageManager()は常にnullを返します。どうすればシャドウイングできPackageManagerますか?を作成しShadowPackageManagerて呼び出してみましたbindShadowClassが、コードが実行されません-getPackageManager()常に。を返しますnull。また、アプリケーションコンテキストをシャドウイングして具象を返そうとしましStubPackageManagerたが、同じ結果が得られました。たぶん私はあまりにも長い間検索/凝視してきました-この方法をユニットテストするためのより良い方法はありますか?

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

android - データベース テスト Robolectric が機能しない

Android で SQLiteDatabase と通信するための DAO クラスを作成しました。実際のデバイスで簡単なテストを実行すると、動作します。ユーザーをデータベースに挿入して、同じユーザーを取得できます。ただし、Robolectric でこれを実行すると、NullpointerException が発生します。これは Robolectric の問題ですか? コードはこちら

そしてテスト…

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

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 をバインドしようとしました:

縛られた

これは今のところ機能しているようです。それが私が望むことをするかどうかを確認するために、さらに試してみる必要があります。これが何らかの方法で正しい方法であるかどうかはわかりません。

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

android - RoboGuice2.0およびRobolectric1.1のRoboAsyncTaskのテスト

現在、AndroidアプリケーションでRoboGuice2.0とRobolectric1.1の両方を使用しています。RoboLooperThreadが2.0でなくなっており、RoboAsyncTaskを呼び出すのに問題があることに気づきました。メインのテストスレッドが.execute()を呼び出すときRoboAsyncTask、RoboAsyncTaskのcall()メソッドが呼び出されることはありません。私の質問は、タスクを実行できるように、テストスレッドをUIスレッドとの間で切り替えるように強制するにはどうすればよいですか?

ありがとう、

ヴィンス

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

android - WebSettingsからのAndroidrobolectricInstantiationException

APIを4.1にアップグレードした後に壊れたいくつかのテストケースの実行に問題があります(関連しているかどうかはわかりませんが、エラーはそう示唆していないようです)

ShadowWebViewの特定のクラスには、行があります

上記の行は

次に、RobolectricInternals.javaにつながり、次のメソッドを実行します

メソッドには次のソースコードがあります。

スローされた例外(上記のエラーログを参照)は、この行が原因です

何が原因で、これを修正する方法がわからないのですが、AndroidのWebSettings.javaは以前は非抽象クラスでしたが、現在は抽象クラスであるため、これが原因だと思いましたが、レベル12(websettings.javaが抽象として宣言されていない)などの古いAPIに切り替えても、同じエラーが発生します

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

android - Robolectric を使用した DialogFragments のテスト

DialogFragmentRobolectric を使用したクラスのテストについていくつか質問があります。インターネットでこのトピックに関する情報がまったく不足していることに遭遇したからです。

  1. に渡す正しい引数は何onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)ですか?
  2. に引数を渡すのに問題がDialogFragmentあります。次のアプローチを使用しています。

    /li>

コードが引数にアクセスしようとするたびに、NullPointerException.

これらのトピックに関するアイデアを高く評価します。

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

android - Robolectric-com.actionbarsherlock.view.MenuItemをモックする方法は?

SherlockActionBarを使用するアプリのRobolectricを使用してテストを作成しようとしています。が選択されている場合、アプリケーションが正しいことを行うかどうかをテストする必要がありますが、Robolectric libは、アプリがメソッドを使用している間、モックのみを提供します。MenuItemandroid.view.MenuItemonOptionItemSelected(com.actiombarsherlock.view.MenuItem)

だから私の質問は:

  • をあざける可能性があるかもしれcom.actionbarsherlock.view.MenuItemませんか?

  • または回避策か何か?

前もって感謝します...

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

android - Robolectric: findViewById が null を返す

Robolectric で非常に簡単なテストをしようとしています。ビューが存在するかどうかをテストしたいと思います。これは、Robolectric の Web サイトの例と非常によく似ていますが、findViewByIdnull を返し続けます。

何が問題なのですか?

これは活動です:

これはテストです:

レイアウト XML ファイルにImageViewは正しい ID とリソースが含まれているため、エミュレーターでアクティビティを実行しても問題なく動作します。

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

android - Robolectricは現在Spinnerをサポートしていないというのは正しいですか

SpinnerでDialogをテストしようとしましたが、次のようになりました。

Robolectricが現在Spinnerをサポートしていないというのは正しいですか?

また、シャドウを登録することはできませんか?