• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    用Jython構建JUnit測試包

    發布: 2009-4-03 10:08 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 20次 | 進入軟件測試論壇討論

    領測軟件測試網

        看一下清單 2 中的 JUnit suite 清單。它是一個公開 public static TestSuite suite() 方法簽名的 TestCase。由 JUnit 框架調用的 suite() 方法調用 getTestSuite(), getTestSuite() 又調用 getClassNamesViaJython() 以獲取一組 String 對象,其中每一個對象表示一個作為包的一部分的 TestCase 類。

    清單 2. 動態定義 TestSuite

    /**
    * @return TestSuite A test suite containing all our tests (as found by Python script)
    */
    private TestSuite getTestSuite() {
    TestSuite suite = new TestSuite();

    // get Iterator to class names we're going to add to our Suite
    Iterator testClassNames = getClassNamesViaJython().iterator();

    while( testClassNames.hasNext() ) {
    String classname = testClassNames.next().toString();

    try {
    // construct a Class object given the test case class name
    Class testClass = Class.forName( classname );

    // add to our suite
    suite.addTestSuite( testClass );

    System.out.println( "Added: " + classname );
    }
    catch( ClassNotFoundException e ) {
    StringBuffer warning = new StringBuffer();
    warning.append( "Warning: Class '" ).append( classname ).append( "' not found." );
    System.out.println( warning.toString() );
    }
    }

    return suite;
    }

            在開始時,要保證設置了正確的系統屬性。在內部,Jython 將使用 python.home 屬性來定位它所需要的文件。最終會調用 getClassNamesViaJython() 方法,在這里面會有一些奇妙的事情發生,如在清單 3 中將會看到的。

    清單 3. 從 Python 運行時提取 Java 對象

    /**
    * 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 );

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    32/3<123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>