2015-09-04 59 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輪廓。

相關問題