Android Studio で Robolectric を使用して単体テストを実行しようとしています。私はほとんどそこにいます - 私は見る:
!!! JUnit version 3.8 or later expected:
java.lang.RuntimeException: Stub!
at junit.runner.BaseTestRunner.<init>(BaseTestRunner.java:5)
at junit.textui.TestRunner.<init>(TestRunner.java:54)
at junit.textui.TestRunner.<init>(TestRunner.java:48)
at junit.textui.TestRunner.<init>(TestRunner.java:41)
at com.intellij.rt.execution.junit.JUnitStarter.junitVersionChecks(JUnitStarter.java:185)
...
クラスパスに必要な依存関係もすべて表示されます。このエラーを修正するには、junit4 依存関係を Android SDK 依存関係の前に配置する必要があります。残念ながら、プロジェクト構造セクションにモジュールが表示されず、これをアーカイブするためにimlファイルを編集する方法がわかりません。
これが私のプロジェクト構造のスクリーンショットです:
私のgradleファイル:
sourceSets {
testLocal {
java.srcDir file('src/test/java')
resources.srcDir file('src/test/resources')
}
}
dependencies {
// compatibility
compile 'android.compatibility:android-support:v4-r13'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
testLocalCompile 'junit:junit:4.11'
testLocalCompile 'org.robolectric:robolectric:2.2'
testLocalCompile 'org.easytesting:fest-assert-core:2.0M10'
}
android {
buildToolsVersion "17"
compileSdkVersion 18
productFlavors {
testLocal{
}
}
}
そして、AS でtestLocalフレーバーを選択しました。