// add all elements of array to a List
List testList = new ArrayList();
testList.addAll( Arrays.asList( allTests ) );
return testList;
}
首先,對 Python 文件進行判斷。然后,從 Python 運行時提取出一個 PyObject。這就是得到的對象,它包含將構成測試包的所有測試用例的類名(記住 —— PyObject 是 Python 對象的 Java 運行時對應物)。然后創建具體的 List 并用 PyObject 填充它,使用 __tojava__ 指示 PyObject 將其內容轉換為一個 Java String 數組。最后,將控制返回 getTestSuite(),在這里裝載 Jython 標識的測試用例,并將它們添加到組合包(composite)中。
在開發環境中安裝測試裝具模塊
現在對于測試裝具模塊如何工作已經有了很好的認識,可能迫不及待要自己試試它了。您將需要完成以下步驟以配置 Eclipse 來運行這個裝具模塊。(如果使用不同的 IDE,應當可以容易地針對您的環境修改這些步驟。)
安裝 Jython 2.1,如果還沒安裝的話。(鏈接請見 參考資料 )。
拷貝 getalltests.py 到主目錄。
編輯 getalltests.py 第 25 行以指定到源文件的根路徑,會搜索在這個位置下的所有目錄中與 org 包中 *Text.java 匹配的文件名。 如果有必要,修改第 54 行以改變根包名(例如,改為 com)。將 DynamicTestSuite.java 拷貝到源樹中。將以下 JAR 添加到 Eclipse 項目中: junit.jar (JUnit 框架二進制文件,下載信息請參閱 JUnit 的 Web 網站)。 jython.jar(Jython 二進制文件,位于 Jython 安裝目錄)。將 DynamicTestSuite 類裝載到 Eclipse Java 源文件編輯器中。執行以下步驟之一: 在 Package Explorer 視圖中選擇 DynamicTestSuite,或者 按 Ctrl+Shift+T 并在 Choose Type 輸入字段鍵入 DynamicTestSuite。 從文件菜單欄選擇 Run,然后選擇 Debug...。
選擇 JUnit 配置。
單擊 New按鈕。將會創建一個新的 JUnit 目標, DynamicTestSuite 應當預填入 Test Class 字段。
選擇 Arguments選項卡。
在 VM 參數文本框中鍵入 -Dpython.home=<path where you installed Jython> 。
單擊 Debug按鈕。
變!現在就有了一個具體的 JUnit TestCase 類,可以像靜態定義的包那樣處理它。設置邊界并進行調試!不需要修改 Test 類,裝具模塊將構建一個包,就像您顯式將每一個 Class 對象編寫到包中一樣。如要執行測試,可以通過喜愛的調試器、編譯工具(如 Ant 或 CruiseControl),或者一個 JUnit 內含的 test runner 調用這個裝具模塊。
擴展這個裝具模塊
我相信您注意到了除非在運行前修改源代碼,否則這個裝具模塊只能用于一個項目?梢匀菀椎財U展這個裝具模塊讓它支持多個項目。一種簡單的方式是修改 getPathToScript() 以使用指定特定于項目的屬性的系統屬性?梢栽谧约旱捻椖恐凶杂墒褂盟,可以不加改變地使用它,也可以以它為基礎進行加工。不過,請別忘記它的 GPL 許可證。
文章來源于領測軟件測試網 http://www.kjueaiud.com/