如何在使用mvn和jenkins运行时添加信息进行测试?

时间:2015-08-03 18:05:24

标签: java maven logging jenkins

我在Java中进行单元测试,我想在测试中添加一些测试信息。

我想用Maven - mvn clean install –Pstaging和Jenkins

来做

我尝试使用Logger

       private static final Logger LOG = LoggerFactory.getLogger(S2STest.class); and then  
     LOG.info("message")

并将其添加到pom.xml

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.6</version>
        <scope>provided</scope>
    </dependency>    

但是,当我运行测试时,我没有看到任何信息。

如何在Maven和Jenkins中为测试添加信息?

1 个答案:

答案 0 :(得分:1)

Jenkins默认不包含SLF4J实现。您可以看到in their pom

  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4jVersion}</version>
  </dependency>
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-nop</artifactId>
    <version>${slf4jVersion}</version>
  </dependency>
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-jdk14</artifactId>
    <version>${slf4jVersion}</version>
  </dependency>
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4jVersion}</version>
  </dependency>
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>log4j-over-slf4j</artifactId>
    <version>${slf4jVersion}</version>
  </dependency>
  <dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1.3</version>
  </dependency>

因此,您需要做的是在您自己的pom中包含您自己的SLF4J实现,例如Log4JLogback,或者通过使用{将其配置为使用slf4j-jdk14实现{3}}。在前两种情况下,您还必须配置该框架的相应配置文件。

一旦你打开了你已经决定的这些日志框架中的任何一个,你就可以使用该配置生成日志信息的目标,并且你将拥有该文件。但是,深入了解究竟该怎么做的细节对于Stack Overflow而言是一个过于宽泛的问题;我建议选择一个并阅读他们的教程。