問題タブ [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.
android - Android Studio 1.1.0 で Robolectric を動作させるためのマニフェストとセットアップの問題
現在のプロジェクトで Robolectric テストを実行して動作させようとしていますが、うまくいきません。私の好みは、これらを Android Studio 1.1.0+ 内で実行することです。これは私のプロジェクト構造です:
ここに私のテストがあります:
マニフェストへのパスを変更してフレームワークにテストを見つけさせるために何をしようとしても、それを見つけることができません-WARNING: No manifest file found at ./AndroidManifest.xml.Falling back to the Android OS resources only.
メッセージまたはAPI Level XX is not supported - Sorry!
メッセージを取得します。最後に、これがテストの実行時に次のエラーが発生する理由だと思います。
私は実験的なオプションをオンにしており、適切な Gradle プラグインを構成しています (単体テストは正常に動作します) が、インストルメンテーション テストを実行するために何が欠けているのかわかりません。
アプリレベルのビルド ファイル:
最上位ビルド ファイル:
android - Robolectric 単体テストの実行が失敗する
Robolectrie テスト フレームワークを介して単体テストをビルドして実行しようとしていますが、使用している実際のプラグインが原因で実行できません
ここに私が試した私のビルドスクリプトがあります
ここに簡単なテストクラスがあります
ここに私が得るエラーがあります
次に、別のプラグイン、つまり com.github.jcandksolutions.gradle:android-unit-test:2.1.1' を試しましたが、まだ機能しませんでした。以下は、グレード構築スクリプトと出力です。
エラー
android - Proguard の問題 Roboguice 重複インポート
gradle ビルドを実行すると問題が発生します。重複した依存関係がインポートされているようですが、デバッグが難しいため、提案は素晴らしいでしょう。
java.io.IOException: Can't write [.......\build\intermediates\classes-proguard\debug\classes.jar] (Can't read [.......gradle\caches\ modules-2\files-2.1\org.roboguice\roboguice\3.0.1\24e814f35d5cc28eaa7e9f07a50ea69deeb2b544\roboguice-3.0.1.jar(;;;;;;!META-INF/MANIFEST.MF)] (重複する zip エントリ [roboguice -3.0.1.jar:javax/inject/Inject.class]))
android - proguard で Robolectric を実行する
テストの依存関係は次のとおりです。
そして、私のdebug
ビルドタイプはminifyEnabled true
、DEX メソッドの制限に達しないようにしています。完全な建物は次のように定義されます。
デフォルトのファイルとフレーバー用のproguard-rules.pro
追加ファイルがあります。proguard-rules-debug.pro
:proguardDevelopDebug
私が持っているオプションに基づいて、gradleタスクは正常に通過します。ただし、:proguardDevelopDebugAndroidTest
次のエラーで失敗します: http://pastebin.com/S623UGfP
ファイルに次を追加したので、これは奇妙です:
この2つが一緒に働かない理由はありますか?
android - Robolectric 2.4 の android.content.res.Resources$NotFoundException
コマンド ラインから単体テストを実行するときに、リソースの読み込みに問題があります。IntelliJ で問題なく動作します。
私は使用しています:
- com.android.tools.build:gradle:1.1.3
- org.robolectric:robolectric-gradle-plugin:1.0.1
- org.robolectric:robolectric:2.4
私は次のプロジェクト構造(マルチモジュール)を持っています:
私のテスト(簡略化)は次のようになります。
私はこのスタックトレースを取得します:
注:私はGradleを初めて使用するので、どこかに設定ミスがある可能性があります。プロジェクト構造の規則に従うことで、リソースの場所を指定する必要がないと想定しました。私はそれらを指定しようとしましたが、運がありませんでした:
android - Robolectric 3 でシャドウ クラスを作成できない
Robolectric のドキュメントに従ってシャドウ クラスを作成しましたが、テスト中にシャドウ メソッドを実行できず、常に元のメソッドが使用されます。
これは私のコードです:
元のクラス:
シャドウ クラス:
テスト:
テストを実行すると、常に表示されます"Hi from original class!"
私のコードで何が間違っていますか? 私は使用します
- Android スタジオ 1.2
- ロボレクトリック 3.0-rc2
- robolectric-gradle-plugin 1.0.1
この問題を解決するにはどうすればよいですか?
前もって感謝します