用Jython構(gòu)建JUnit測(cè)試包
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/7 15:07:01 ] 推薦標(biāo)簽:
在開始時(shí),要保證設(shè)置了正確的系統(tǒng)屬性。在內(nèi)部,Jython 將使用 python.home 屬性來定位它所需要的文件。終會(huì)調(diào)用 getClassNamesViaJython() 方法,在這里面會(huì)有一些奇妙的事情發(fā)生,如在清單 3 中將會(huì)看到的。
清單 3. 從 Python 運(yùn)行時(shí)提取 Java 對(duì)象
/**
* Get list of tests we're going to add to our suite
* @return List A List of String objects, each representing class name of a TestCase
*/
private List getClassNamesViaJython() {
// run python script
interpreter.execfile( getPathToScript() );
// extract out Python object named PYTHON_OBJECT_NAME
PyObject allTestsAsPythonObject = interpreter.get( PYTHON_OBJECT_NAME );
// convert the Python object to a String[]
String[] allTests = (String[]) allTestsAsPythonObject.__tojava__( String[].class );
// add all elements of array to a List
List testList = new ArrayList();
testList.addAll( Arrays.asList( allTests ) );
return testList;
}
首先,對(duì) Python 文件進(jìn)行判斷。然后,從 Python 運(yùn)行時(shí)提取出一個(gè) PyObject。這是得到的對(duì)象,它包含將構(gòu)成測(cè)試包的所有測(cè)試用例的類名(記住 ―― PyObject 是 Python 對(duì)象的 Java 運(yùn)行時(shí)對(duì)應(yīng)物)。然后創(chuàng)建具體的 List 并用 PyObject 填充它,使用 __tojava__ 指示 PyObject 將其內(nèi)容轉(zhuǎn)換為一個(gè) Java String 數(shù)組。后,將控制返回 getTestSuite(),在這里裝載 Jython 標(biāo)識(shí)的測(cè)試用例,并將它們添加到組合包(composite)中。
在開發(fā)環(huán)境中安裝測(cè)試裝具模塊
現(xiàn)在對(duì)于測(cè)試裝具模塊如何工作已經(jīng)有了很好的認(rèn)識(shí),可能迫不及待要自己試試它了。您將需要完成以下步驟以配置 Eclipse 來運(yùn)行這個(gè)裝具模塊。(如果使用不同的 IDE,應(yīng)當(dāng)可以容易地針對(duì)您的環(huán)境修改這些步驟。)
安裝 Jython 2.1,如果還沒安裝的話。(鏈接請(qǐng)見 參考資料 )。
拷貝 getalltests.py 到主目錄。
編輯 getalltests.py 第 25 行以指定到源文件的根路徑,會(huì)搜索在這個(gè)位置下的所有目錄中與 org 包中 *Text.java 匹配的文件名。
如果有必要,修改第 54 行以改變根包名(例如,改為 com)。
將 DynamicTestSuite.java 拷貝到源樹中。
將以下 JAR 添加到 Eclipse 項(xiàng)目中:
junit.jar (JUnit 框架二進(jìn)制文件,下載信息請(qǐng)參閱 JUnit 的 Web 網(wǎng)站)。
jython.jar(Jython 二進(jìn)制文件,位于 Jython 安裝目錄)。
將 DynamicTestSuite 類裝載到 Eclipse Java 源文件編輯器中。執(zhí)行以下步驟之一:
在 Package Explorer 視圖中選擇 DynamicTestSuite,或者
按 Ctrl+Shift+T 并在 Choose Type 輸入字段鍵入 DynamicTestSuite。
從文件菜單欄選擇 Run,然后選擇 Debug...。
選擇 JUnit 配置。
單擊 New 按鈕。將會(huì)創(chuàng)建一個(gè)新的 JUnit 目標(biāo),DynamicTestSui