iT邦幫忙

DAY 14
8

node.js伺服器實戰系列 第 14

node.js伺服器實戰(14) - 自動化

  • 分享至 

  • xImage
  •  

利用自動化工具,把要做的事情設定好,需要執行的時候就方便了。
選擇的工具

其實一些常見的自動化工具例如ant、maven功能應該差不多,不過我比較熟悉ant,所以還是拿來用吧。

在安裝ant之前,至少要安裝JRE,然後設定好JAVA_HOME環境變數。接下來下載他的binary package:http://ant.apache.org/bindownload.cgi,解開到硬碟,然後設定好PATH與ANT_HOME環境變數,然後打開console,隨便打一下ant,跑出

 Buildfile: build.xml does not exist!
 Build failed

應該就是安裝成功了。接下來,要製作build.xml(規則都寫在這裡)

ant的build.xml

先不管這些測試要怎麼執行,把所有需要做的工作以及先後順序排一排。(非常簡單,只用到project, target, exec, arg四個tag)

 <?xml version="1.0"?>
 <project name="evolve">
   <target name="unittest">
   </target>
   <target name="integrate">
   </target>
   <target name="coverage-init">
   </target>
   <target name="coverage" depends="coverage-init">
   </target>
   <target name="lint">
   </target>
   <target name="alltest" depends="lint,coverage,unittest,integrate">
   </target>
   <target name="dummy">
     <exec executable="C:\\node\\bin\\node">
       <arg value="tests\\testroute.js" />
     </exec>
   </target>
 </project>

暫時先把規則訂成這樣:

  1. unittest - 跑單元測試
  2. integrate - 跑整合測試
  3. coverage-init - 初始化覆蓋測試的資料
  4. coverage - 跑覆蓋率測試,執行前會先跑coverage-init
  5. lint - 跑靜態測試
  6. alltest - 會依照設定順序跑完所有測試
  7. dummy - 拿來做簡單的驗證

這個設定檔應該簡單到可以望文生義,我就不多加解釋了。

先用用看

之前在做router的時候,有寫了簡單的測試:

 var route = require('../lib/router');
 
 route.addhost('localhost');
 route.addfs('localhost', '/', '/usr/home');
 route.addroute('localhost', '/upload', 'GET', function(){console.log('called');});
 console.dir(route.query('localhost', '/index.html', 'GET'));
 console.dir(route.query('localhost', '/upload', 'GET'));
 console.dir(route.query('localhost', '/upload', 'POST'));

就用ant dummy來跑跑看:

 D:\fillano\Dropbox\Shared\evolve>ant dummy
 Buildfile: D:\fillano\Dropbox\Shared\evolve\build.xml
 
 dummy:
      [exec] { type: 'fs', result: '\\usr\\home\\index.html' }
      [exec] { type: 'route', result: [Function] }
      [exec] { type: 'fs', result: '\\usr\\home\\upload' }
 
 BUILD SUCCESSFUL
 Total time: 0 seconds

看起來還ok,之後就都用這樣直接跑執行檔加參數,如果有問題再來調整。

相關文章


上一篇
node.js伺服器實戰(13) - 版本管理
下一篇
node.js伺服器實戰(15) - 單元測試
系列文
node.js伺服器實戰33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言