2015-09-04 62 views
0

我在jenkins上进行了一些集成测试。总的来说,它们需要大约30分钟才能完成。这需要很长时间。因此,我们试图找到一种方法,让一个测试类(大部分时间需要)在另一个时间执行。我们怎样才能做到这一点?在jenkins上定义执行集成测试的时间

目前我们包括这样的测试:

<build> 
    <testResources> 
     <testResource> 
      <directory>config</directory> 
      <includes> 
       <include>**/*.properties</include> 
      </includes> 
      <filtering>true</filtering> 
     </testResource> 
    </testResources> 

    <plugins> 
     <plugin> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <skip>${skip.integration.test}</skip> 
       <includes> 
        <include>**/*Test.class</include> 
       </includes> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

我听到的活化谱像这样的东西:

<profiles> 
    <profile> 
    <activation> 
     <jdk>1.4</jdk> 
    </activation> 
    ... 
    </profile> 
</profiles> 

你有什么想法,我怎么能执行所有测试但每天有一个测试课,并在一周中的某一天执行所有测试?

回答

0

我不会跳过几天的集成测试。因为,你的开发人员越早获得反馈意见,他们的一个变化导致测试失败越好。更正应用更快,因为最近的更改更容易记住。否则,所有依赖罪魁祸首的其他开发者都会针对破码进行开发,甚至会被阻止更长的时间。

您的意思是说,当您的开发人员在本地测试其更改时,这些集成测试也会运行吗?我不推荐,我同意“约30分钟”肯定是太长了。

有关如何单独运行单元测试和集成测试的想法,请参阅Integration Testing With Maven。 (是的,它与Maven的配置文件来实现的。见Maven/Introduction to build profiles

我会用提到有作为默认的配置文件的dev轮廓和使用CI系统,如詹金斯的integration-test轮廓。

相关问题