获取一个简单的 Junit 测试,以便在 MacOSx 上使用 Gradle 进行编译

2022-09-01 14:36:03

我试图让最基本的gradle项目(带有测试)来构建。看过所有相关问题和谷歌搜索,我似乎错过了一些非常基本的东西,而且显然不常见。

我创建了一个测试类,但“gradle compileTestJava”无法编译文件说

package 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 文件。

事实上,当我运行“gradle依赖项”时,我得到

testCompile - Classpath for compiling the test sources.
No dependencies

我不知道这是否应该包括内置的插件依赖项。我的猜测是,它应该列出朱尼特。

有什么想法吗?

这是我得到的:

: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.

答案 1

您需要确保已设置存储库,并且需要包含 junit 的依赖项。这意味着你需要一些看起来像这样的东西来构建.gradle

repositories {
    mavenCentral()
}

apply plugin: 'java'

dependencies {
    testCompile 'junit:junit:4.10'
}

答案 2

在我的build.gradle中,我有这个:

android {
sourceSets { main { java.srcDirs = ['src/main/java', 'src/test/java'] } }

还有

dependencies {
testCompile 'junit:junit:4.12'}

当我从build.gradle中删除以下内容时,问题消失了

'src/test/java'


推荐