Testing 通过示例自定义渐变配置

Testing 通过示例自定义渐变配置,testing,gradle,configuration,slf4j,dependency-management,Testing,Gradle,Configuration,Slf4j,Dependency Management,我正在开发一个用于许多项目的库(JAR)。我使用SLF4j进行日志记录,因此我将SLF4j API JAR声明为编译 在我的机器上本地开发这个库时,我希望运行测试并查看所有SLF4J日志语句的输出。或者,在测试之外,将临时的main(String[])方法添加到一个随机类中,并测试功能和日志输出,就像lib是一个可执行的JAR一样。由于SLF4J的默认绑定是无操作(无任何输出),因此到目前为止,我在开发和测试时添加了SLF4J简单绑定作为编译配置依赖项。然后,在提交和发布之前,我只是将简单绑定作

我正在开发一个用于许多项目的库(JAR)。我使用SLF4j进行日志记录,因此我将SLF4j API JAR声明为编译

在我的机器上本地开发这个库时,我希望运行测试并查看所有SLF4J日志语句的输出。或者,在测试之外,将临时的
main(String[])
方法添加到一个随机类中,并测试功能和日志输出,就像lib是一个可执行的JAR一样。由于SLF4J的默认绑定是无操作(无任何输出),因此到目前为止,我在开发和测试时添加了SLF4J简单绑定作为编译配置依赖项。然后,在提交和发布之前,我只是将简单绑定作为依赖项删除(因为使用我的库的每个开发人员都应该能够选择自己的绑定)

这是一个骇客,我知道Gradle的支持,但我还没有看到一个连贯的例子可以作为指导。理想情况下,我希望定义一个自定义
dev
配置,以便作为依赖项,我可以:

dependencies {
    compile 'org.slf4j:slf4j-api:1.7.5'
    dev 'org.slf4j:slf4j-simple:1.7.5' // Only used when running/testing locally
}

…但是,只有SLF4J API JAR被添加到我的
pom
关于如何实现这一点有什么想法吗?也许Gradle已经内置了这样的概念,或者自定义配置甚至不是正确的方法。

将绑定库添加到testRuntime配置中。它将用于所有测试。将绑定库添加到testRuntime配置中。它将在那里进行所有的测试。