我有一个用 Groovy 制作的小应用程序。目前我可以在命令行上对其进行测试,但我需要将它与 Jenkins 服务器集成。因此,我考虑将它与 Gradle 集成,以生成 Jenkins 可以读取的标准格式的测试输出。(请考虑到我是 Groovy、Gradle、Jenkins 和一般 JVM 环境的新手)。
目前,我所有的测试都在一个MyTest
扩展的类中GroovyTestCase
。我可以用一个小 bash 脚本来运行它,比如
#! /bin/bash
DIR=$( cd "$( dirname "$0" )" && pwd )
LIBS="$DIR/lib/*"
groovy -cp "$LIBS" path/to/MyTest.groovy
在这个布局中有很多我不喜欢的东西:
- 首先,我想将测试分成多个类并将它们加入一个测试套件,但是测试用例的优点是它可以在 Groovy 中自动运行
- 其次,正如我所说,我希望能够获得一份测试报告,供 Jenkins 使用
- 第三,我不知道将所有必需的 jar 放入一个
lib
目录是否是一种好习惯 - 可能不是。
Gradle 似乎正是我需要的工具。但是我找到的所有文档都假设以前对 Java、Ant、Maven 和整个生态系统有了解。
创建一个工作的 Gradle 项目的基本步骤是什么?
我已经按照这里的建议重新组织了目录结构,但我不明白如何声明依赖项。例如这个 build.gradle
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.8.0'
runtime group: 'org.apache.log4j', name: 'log4j', version: '1.2.0'
}
我得到错误
unable to resolve class org.apache.log4j.Level
@ line 5, column 1.
import org.apache.log4j.Level
^
如果我将存储库更改为
repositories {
mavenCentral()
flatDir { dirs 'lib' }
}
log4j
从我的lib
目录中获取,我得到
A problem occurred evaluating root project 'alfred'.
Cause: Could not find method flatDir() for arguments [build_3urmo05tgpv3e97u7h8ij47i3$_run_closure1_closure3@64c7f7c4] on root project 'alfred'.