利用自動化工具,把要做的事情設定好,需要執行的時候就方便了。
選擇的工具
其實一些常見的自動化工具例如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>
暫時先把規則訂成這樣:
這個設定檔應該簡單到可以望文生義,我就不多加解釋了。
先用用看
之前在做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,之後就都用這樣直接跑執行檔加參數,如果有問題再來調整。