qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          使用Gradle運行集成測試

           如果Gradle構建的項目是一個web項目的話,里面可能包含一些集成測試和功能性測試。這些測試和單元測試不同之處是在運行之前要先在本地將web服務啟動起來,并且跑完測試后能夠自動的關閉web服務。
            在本地啟動web服務我們可以使用Gradle內置的jetty插件。jetty是一個輕量級的web容器,其執行速度快,配置簡單,遠程調試方便。啟用jetty只需在build.gradle中加入對這個插件的引用。
            apply plugin: 'jetty'
            之后可以配置war包的名稱,啟動的端口等屬性。
            apply plugin: 'jetty'
            httpPort = 9876
            [jettyRun, jettyRunWar, jettyStop]*.stopPort = 9966
            [jettyRun, jettyRunWar, jettyStop]*.stopKey = 'stopKey'
            我們需要將集成測試與一般的單元測試分開。因為單元測試并不需要事先啟動web服務,保證其執行速度快,能夠得到更快的反饋。一般做法是單元測試后綴名為Test.java,集成測試后綴名為IntegrationTest.java。
            配置單元測試執行的測試集合。
            test {
            include '**/*Test.class'
            exclude '**/*IntegrationTest.class'
            }
            然后新建一個Task,用于運行集成測試。
          build.gradle
          task intTest(type: Test, dependsOn: test) {
          include '**/*IntegrationTest.class'
          doFirst {
          jettyRun.daemon = true
          jettyRun.execute()
          }
          doLast {
          jettyStop.execute()
          }
          }
            上述代碼首先是創建一個名為intTest的task,其類型為Test,依賴于test task。該集成測試只會運行后綴名為IntegrationTest的測試類。在運行測試之前,首先采用后臺模式啟動jetty服務器,運行完測試后再調用jettyStop task停止jetty服務。
            為了使我們在運行gradle build時也會運行intTest task,可以添加對intTest的依賴。
            build.dependsOn intTest
            這樣在運行gradle build時也會運行集成測試。并且在集成測試前后web服務會自動的啟動和關閉。

          posted on 2014-07-16 09:41 順其自然EVO 閱讀(462) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 苏尼特左旗| 登封市| 琼海市| 武鸣县| 嘉峪关市| 齐齐哈尔市| 镇宁| 红桥区| 天水市| 胶州市| 琼结县| 抚宁县| 大石桥市| 微山县| 安陆市| 镇雄县| 宽城| 探索| 乐都县| 太康县| 宁远县| 武义县| 文水县| 萨嘎县| 晋江市| 巴楚县| 巴南区| 芮城县| 米泉市| 滕州市| 仲巴县| 翁牛特旗| 广汉市| 柳林县| 永州市| 黄龙县| 读书| 汨罗市| 湛江市| 平泉县| 万年县|