問題タブ [robolectric-gradle-plugin]

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 投票する
1 に答える
200 参照

android-gradle-plugin - SimpleTestCursor robolectric 3.0 -- コンパイルの問題

アプリでカーソルをテストしようとしています。

しかし、次のインポートでは、エラー メッセージが表示されます -- シンボル テスターを解決できません。Robolectric 3.0 を使用しています。インポートが解決されないのはなぜですか? 依存関係がないのでしょうか? 私はインターネットを見ましたが、サポートはありません。助けてください。

私は使用しようとしています:この APIと以下はインポートです

これらは私の依存関係です:

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

android - Robolectric で View.getTop() を呼び出すと、常に 0 が返される

画面上のビューの位置を確認しようとしていますが、View.getTop または View.getLocationOnScreen() は常に 0 を返します。

View.getHeight() は 0 より大きく、正しいようです。

これは Robolectric の制限ですか、それとも何かセットアップする必要がありますか?

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

android - Robolectric filenotFound がアセット ファイルにある

こんにちは、アプリの単体テストに robolectric バージョン 3.0 を使用しており、src/test/assets の下にいくつかのファイルを含む asssets フォルダーがありますが、fileNotFound を取得し続けます。

ここに私のテストコードがあります:

```

```

これが私のgradleファイルからの私のソースセットと依存関係です: ```

```

production はビルドバリアントです

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

android - Robolectric getNextStartedActivity は常にランチャー アクティビティを返します

Android アプリで単純なメソッドを呼び出すと、別のアクティビティが開始されることをテストしようとしています。getNextStartedActivity常にランチャー アクティビティを返します。

テストは次のとおりです。

CurrentActivity の startNextActivity メソッドは次のとおりです。

テストを実行すると、実際の結果として LoginActivity (ランチャー アクティビティ) が得られます。AndroidManifest.xml の LoginActivity は次のとおりです。

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

android - test.R.java を使用した Robolectric

API21 で robolectric 3.0 を使用するライブラリ プロジェクトを持っていcom.android.tools.build:gradle:1.3.1ます。

テストリソースを( の下のようにsrc/androidTest/res/...)、つまりcom.mypackage.test.R.javacom.mypackage.R.java本番用ではなく)robolectric テストで使用したい。

私がこれまでに持っているもの:

ディレクトリ構造は

次にbuild.gradleで:

テストが test.R.java で正常にコンパイルされるようになりました。

ただし、${project.buildDir}/intermediates/assets/androidTest/debug以前は${project.buildDir}/intermediates/assets/debug. androidTest私の疑いでは、リソース ファイルも(ビルド バリアント?) ディレクトリの下に移動されているため、robo もリソース ファイルを見つけられないのではないかと考えています。

2 つの質問: 1) これを行うためのより良い方法はありますか? 2) 存在しない場合、資産ファイルを探す場所を robolectric に伝えるにはどうすればよいですか?

私は試してみましたが@Config(assetDir="build/intermediates/assets/androidTest/debug")@Config(assetDir="../build/intermediates/assets/androidTest/debug")役に立ちませんでした。

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

java - Robolectric 3.0 が null ポインタを返す

Robolectric を 3.0 にアップグレードしようとしています。私は使用しており、テストクラスの上にRobolectricGradleTestRunnerも追加しています。@Config(constants = BuildConfig.class)も使ってみtestCompile org.robolectric:robolectric:3.1-SNAPSHOTました。以下は、ログに表示されているスタック トレースです。

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

android - Robolectric フレーク テスト

私は Robolectric と、広範な Robolectric テストを使用して作成された新しいプロジェクトに慣れていません。

./gradlew clean テストを行ったところ、テストがランダムに失敗することがわかりました。@Before コードに問題があると思われますが、何が問題なのかはわかりません。

JUnit が報告するエラーの例を次に示します。

Fragment ルールのコードは次のとおりです。

コードの壁で申し訳ありません。どこから始めればよいかわかりません! Robolectric のバージョンは 3.0 です。

0 投票する
3 に答える
3320 参照

android - Robolectric の Android Studio で「テスト」フォルダを作成できません

intellij のプロジェクトに robolectric テストを追加したいと考えています。

このチュートリアルに従おうとしました

しかし、メインモジュールの下に「テスト」パッケージを追加できません。

さらに、「ビルドバリアント」はチュートリアルとは異なって見えます。

どうすればこれを修正できますか?

テストクラスを適切に追加するにはどうすればよいですか?

ここに画像の説明を入力