問題タブ [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 投票する
5 に答える
11767 参照

android - Robolectric で IntentService をテストするには?

usingのonHandleIntent()メソッドをテストしようとしています。IntentServiceRobolectric

私は次のサービスを開始しています:

startedIntentnullではないようonHandleIntent()ですが、呼び出されていないようです。

どのようにテストすればよいですか?

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

android - Robolectric (Android): ShadowLocationManager を使用していますか? 設定可能ですか?

私は今まで Robolectric をうまく使ってきました。ロケーションマネージャーを取得するアクティビティがあります。ドキュメントによると、robolectric フレームワークには「ShadowLocationManager」と呼ばれるシャドウ クラスが組み込まれており、一種のモックが作成されています。

私の質問は、このモックをどのように制御できますか、返されるものを制御できますか? もしそうなら、どのように?

または、「独自の」シャドウ クラスを作成し、「ShadowLocationManager」を実装する必要がありますか。

ドキュメントを探していますが、私が求めていることを確認するものは何も見つかりません。

robolectric にロケーション マネージャーのシャドウが含まれている場合、どのプロバイダーを有効にするかを制御するにはどうすればよいですか? 独自のシャドウ クラスが既に存在し、構成および制御できる場合は、独自のシャドウ クラスを実装したくありませんでした。

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

android - アクションバーシャーロック+ロボレクトリック

作業中のテストケースにはRobolectricを使用していますが、ActionBarSherlockはうまく機能していないようです。

問題は、robolectricを介して実行すると== 0No implementations match configurationであるため、メッセージが表示されることです。Build.VERSION.SDK_INT

ABSをRobolectricでうまく機能させるための最良の方法について誰かがアイデアを持っているなら、私は知りたいです。結果をここに投稿しますが、この人気のあるツールキットとライブラリを連携させる方法についての情報を見つけるのは非常に難しいようです。

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

android - RobolectricテストをAndroidテストフレームワークと組み合わせる方法は?

私はAndroidのテストにかなり慣れていないので、本当に苦労しています。Androidのインストルメンテーションテストフレームワークでテストするのが簡単なものと、Robolectricのシャドウオブジェクトでテストするのがはるかに簡単なものがあります。

RobolectricテストとAndroidテストを組み合わせたテストプロジェクトを作成する方法はありますか、それとも2つの別々のテストプロジェクトを作成する方法がありますか?

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

android - Robolectric を使用した Android ライブラリ JUnit テスト: java.lang.InstantiationException

Robolectric を使用して Android ライブラリ プロジェクトで JUnit テストを実行しようとすると、次のエラーが発生します。

私の最初のアイデアは、テストで間違いを犯したということでした。そのため、テストの実行を可能な限り単純化しました。

しかし、私はまだ同じエラーが発生します。ここで説明されているようにプロジェクトをセットアップしました: http://robolectric.org/eclipse-quick-start/ 奇妙なことは、他の Android ライブラリ プロジェクトで問題なく動作したことです。

どんな助けでも大歓迎です!前もって感謝します!

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

android - Robolectric-SQLiteデータベースのコピー中にエラーが発生しました

私は現在AndroidAPIをテストしています。そのために、事前に作成したデータベースをコピーするアプリケーションを開発し、そのアプリケーション(いくつかのAndroidクラスを呼び出す)をテストしています。誰かが私にRobolectricを使用してAndroidソースのカバレッジを取得するように指示しましたが、これによりいくつかの問題が発生しました。私のアプリケーションは、テストと同様にそれがなくても問題なく動作しますが、データベースのコピーでエラーが発生しています。テストを実行するたびに、catchによってデータベースのコピーでエラーが発生し、そのcatchを削除するとAssertionFailureErrorが発生します。

これは、データベースがコピーされないことと関係があると思います。コードにあるトライキャッチを元に戻すと、データベースをコピーするときにそれらがオフになります。

これが私のSQLiteOpenHelperのコード、または少なくともデータベースのコピーで呼び出されるコードです。

問題はコンテキストに関係しているのではないかと思ったので、ShadowContextを作成しましたが、それも実際には役に立ちませんでした。他にもエラーがありますが、それらはSQLiteOpenHelperのcreateDatabase()まで相互に呼び出すメソッドにすぎません。

Robolectricを使用してこのデータベースをコピーする方法を知っている人はいますか?アプリケーションのアセットに保存しましたが、エミュレーターがなければ、これは無意味です。ありがとうございました。

PS必要に応じて、さらにコードを追加できます。これは、最初は必要だと思っていたものです。

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

java - Robolectric と SQLite.getVersion

私の場合、Robolectric SQLiteOpenHelper の getVersion は常に 0 を返します。このため、現在の DATABASE_VERSION がたとえば 0 より大きい場合、DBHelper で onCreate が呼び出されます。

Robolectric で Database-Version を構成/設定する方法を知っている人はいますか? 私は robolectric-1.1-jar-with-dependencies.jar と roboguice-2.0b4.jar を使用しています。(これまでのところ読み取り+書き込みは機能します...)

どうも

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

java - 16進カラー文字列を整数に解析する方法

私はRobolectricでいくつかのコードに取り組んでいますIntegerResourceLoader. 次のメソッドは、 0xFFFF0000などのRuntimeExceptionwhenをスローしています。rawValue

Integer.decode(String)を使用してみましたが、文法が正しいように見えても NumberFormatException がスローされます。

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

android - ANTでテストを実行する場合にのみ、ライブラリプロジェクトクラスのNoClassDefFoundError

ViewPagerIndicatorプロジェクト(Androidライブラリプロジェクト)に追加しました。テストはIntelliJで正常に機能しますが、ANTから実行すると失敗します。明確にするために、このAndroidライブラリプロジェクトのクラスを参照しているテストのみが失敗し、残りは問題なく合格しています。build.xmlに何かが正しくないと思いますか?他の誰かがこれに遭遇しますか?

スタックトレースは次のとおりです。

java.lang.NoClassDefFoundError:Lcom / viewpagerindicator / CirclePageIndicator; com.google.inject.internal.util。$ComputationException:java.lang.NoClassDefFoundError:Lcom / viewpagerindicator / CirclePageIndicator; com.google.inject.internal.util。$MapMaker$ StrategyImpl.compute(MapMaker.java:553)atcom.google.inject.internal.util。$MapMaker $ StrategyImpl.compute(MapMaker.java:419)at com .google.inject.internal.util。$CustomConcurrentHashMap$ ComputingImpl.get(CustomConcurrentHashMap.java:2041)at com.google.inject.internal.FailableCache.get(FailableCache.java:50)atcom.google.inject.internal。 MembersInjectorStore.get(MembersInjectorStore.java:65)at com.google.inject.internal.InjectorImpl.getMembersInjector(InjectorImpl.java:950)at com.google.inject.internal.InjectorImpl.getMembersInjector(InjectorImpl.java:

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

intellij-idea - RobolectricTestRunnerを使用したJUnitテストがスタックしている

を使用してAndroidアプリケーションのテストを実行する方法を発見していますJUnit。これまでのところRobolectric、フィードバックがより速く、はるかに簡単になるため、選択しました。

残念ながら、最初のテストが失敗し、原因を突き止める方法を探しています。ログ@Before@Testメソッドを試しましたが、ランナーの初期化のどこかで停止したようです。

Robolectric 1.1、JUnit 4.8.2、IntelliJ IDEA、Android4.1SDKを使用しています。

UPD:IDEAでテストの実行を一時停止し、Runnerが何らかのジョブを実行しているのに、スタックしているか、これらのメソッド内にループがあるように見えることで、さらに進んでいます。