私は(テスト付きの)最も基本的なグラドルプロジェクトをビルドしようとしています。関連するすべての質問とGoogle検索を見てきましたが、非常に基本的なものを見逃しているようです。
1つのテストクラスを作成しましたが、「gradle compileTestJava」はファイルのコンパイルに失敗しました
パッケージorg.junitは存在しません
テストを見つけ、それがテストであることを知っていますが、独自のjunit.jarファイルを見つけられないようです。
build.gradleに含まれるもの
プラグインの適用:「Java」
それだけです。裸の骨!私も追加してみました
依存関係{
testCompile 'junit:junit:4.10'
}
これにより、「すべての依存関係を解決できませんでした」というメッセージが表示され、gradleが独自のファイル(?)を回避できなくなったと思われます。 gradleにインストールされた/Users/me/Documents/Projects/gradle-1.3/lib/plugins/junit-4.10.jarファイルが表示されます。
実際、「gradledependency」を実行すると、次のようになります
testCompile - Classpath for compiling the test sources.
No dependencies
それに組み込みのプラグイン依存関係が含まれるかどうかはわかりません。私の推測では、junitをリストする必要があります。
何か案は?
私が得るものは次のとおりです。
:compileTestJava
/Users/me/Documents/Projects/experiment1/src/test/Java/MyUnitTests.Java:3: package org.junit does not exist
import org.junit.*;
^
/Users/me/Documents/Projects/experiment1/src/test/Java/MyUnitTests.Java:7: cannot find symbol
symbol : class Test
location: class test.Java.MyUnitTests
@Test
^
/Users/me/Documents/Projects/experiment1/src/test/Java/MyUnitTests.Java:9: cannot find symbol
symbol : variable Assert
location: class test.Java.MyUnitTests
Assert.assertEquals(2 + 2, 4);
^
3 errors
FAILED
FAILURE: Build failed with an exception.
リポジトリが設定されていることを確認し、junitの依存関係を含める必要があります。つまり、build.gradleには次のようなものが必要です。
repositories {
mavenCentral()
}
apply plugin: 'Java'
dependencies {
testCompile 'junit:junit:4.10'
}
私のbuild.gradleにはこれがありました:
Android {
sourceSets { main { Java.srcDirs = ['src/main/Java', 'src/test/Java'] } }
そしてまた
dependencies {
testCompile 'junit:junit:4.12'}
Build.gradleから次のものを削除すると、問題はなくなりました
'src/test/Java'
このガイドが役立つ場合があります- http://www.slideshare.net/tobiaspreuss/how-to-setup-unit-testing-in-Android-studio
テストがandroidTest dirの下にある必要がある最新のgradle
Gradle.buildでも:
dependencies {
androidTestCompile 'junit:junit:4.+'
}
defaultConfigの下にも追加します
defaultConfig {
testPackageName "test.Java.foo"
testInstrumentationRunner "Android.test.InstrumentationTestRunner"
}
リポジトリ宣言でmavenLocal()も必要になる場合があります
repositories {
mavenLocal()
mavenCentral()
}
テストケースで同様の問題が発生し、同様のエラーが発生しました。 build.gradleファイルにソースセットを追加することで修正できます。
例えば:
sourceSets {
src {
test{
Java{
srcDirs =["com/testfile/appservice/test/endpoint"]
}
}
}
}
src/test/Javaはテストパッケージのすぐ上のディレクトリの名前で、com.testfile.appservice.test.endpointはjunitテストが書き込まれるパッケージの名前です。
追加するだけ
repositories {
mavenCentral()
}
Android Studio for Android development