在Gradle中指定单元测试位置

时间:2014-03-09 20:52:46

标签: scala junit gradle scalatest

我一直在Gradle上学习项目(不是作业),我将这个项目分为两个文件夹,src/main/scalasrc/test/scala

正如您可能知道的那样,测试文件夹存储了我的单元测试但由于某种原因我无法让Gradle找到它们并按原样调整它们。我在这个项目中使用Scala和ScalaTest。

有没有办法告诉Gradle在哪里寻找测试文件?或者是否有任何合理的解释为什么它没有检测到我的文件?

这是我的build.gradle

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'scala'

repositories {
    mavenCentral()
}

sourceSets {
    main {
        scala {
            srcDirs = ['src/scala']
        }
    }
    test {
        scala {
            srcDirs = ['test/scala']
        }
    }
}

dependencies {
    compile 'org.scala-lang:scala-library:2.10.3'
    testCompile 'junit:junit:4.10'
    testCompile 'org.scalatest:scalatest_2.10:2.1.+'
}

test {
    useJUnit()
    testLogging {
        // Show that tests are run in the command-line output
        events 'started', 'passed'
    }
}   

3 个答案:

答案 0 :(得分:1)

gradle scala plugin中所述,您可以通过添加以下内容来更改源和测试目录的位置:

sourceSets {
    main {
        scala {
            srcDirs = ['src/scala']
        }
    }
    test {
        scala {
            srcDirs = ['test/scala']
        }
    }
}

答案 1 :(得分:0)

在此处查看有关测试如何工作的详细说明并对其进行配置http://www.gradle.org/docs/current/userguide/java_plugin.html#sec:java_test

答案 2 :(得分:0)

由于@ditkin的回复,我想出了正确的build.gradle让它工作。结果我需要填写完整的src/main/scalasrc/test/scala

apply plugin: 'scala'
apply plugin: 'eclipse'

repositories {
    mavenCentral()
}

sourceSets {
    main {
        scala {
            srcDirs = ['src/main/scala']
        }
    }
    test {
        scala {
            srcDirs = ['src/test/scala']
        }
    }
}

dependencies {
    compile 'org.scala-lang:scala-library:2.10.3'
    testCompile 'junit:junit:4.10'
    testCompile 'org.scalatest:scalatest_2.10:2.1.+'
}

test {
    useJUnit()
    testLogging {
        // Show that tests are run in the command-line output
        events 'started', 'passed'
    }
}