2014年4月21日 星期一

[as] 使用 Ant 編譯並測試 我自己的 unit test

繼續上一篇 我自己彷 flex unit 作的 unit test

其實還有一個需求是可以整合 Jenkins 等

可以自動的 編譯 測試  整合 發現錯誤 !

講講我遇到的幾個問題點!

1. 如何在 command line 下執行 swf ?

ans :
因為我知道有 adl, fdb 這兩樣可以 command line 測試 swf or air 的程式
為了簡單起見, 選擇使用 fdb 去測試 !
雖然我覺得使用 adl 去測試會是比較好的選項
因為 air 可以直接輸出檔案 ! 更便於報表執行 等等
不過在我心裡想 那是最後必殺技..
所以接下去的問題都將由 fdb 去做考慮.

2.  如何使用 ant 自動輸入文字讓 fdb 可以執行

ans:
其實這個問題 卡最久 ! 
不過後來看 exec task 時發現有一個 input 和 inputstring
我就利用了 inputstring 去輸入文字
不過問題在於 只能輸入一種!
如果要再輸入其他的 例如 quit , yes 等
好像沒辦法 !

3.  如何停止並關閉 fdb

ans:
這個部分 有繼續翻 task 或是 fdb 相關的部分
想說是不是有 類似的東西 可以輸入 或是 去停止的!
不過 在沒發現太多可行的方法
所以我再一次的修正了我的 BasicUnitTestCase
讓 swf 去執行 System.exit(0); 去結束 fdb

4. 如何 output 內容 ?

ans:
目前所說的 output 的部分
只是簡單的再 ant 上trace出來
還沒有整合到 Jenkins 去判斷結果的部分
之前嘗試的幾種方式 cmd, bat 等等
都會另外開啟令一個視窗 結果 ant 就結束了!
不過後來就改成直接執行 fdb 後就可以 trace 了 !


下面就是我用來測試 swf 的 基本版 task 
      <target name="open player">
            <echo>Launching '${DEPLOY_DIR}/unitTestDemo.swf'...</echo>
            <exec executable="fdb" failonerror="false" inputstring="continue"  >
                <arg line="run '${DEPLOY_DIR}/unitTestDemo.swf'" />
            </exec>
       </target>


下面是我的測試圖片!



我參考的幾篇文章
http://anycent.blog.163.com/blog/static/84498427201022335056341/
https://ant.apache.org/manual/Tasks/exec.html
http://forums.adobe.com/message/3385890#3385890#3385890

沒有留言 :