1

Robot Framework を使用して多数の Java ファイルをテストしていますが、いくつかの Groovy ファイルを追加したいと考えています。コンパイルされたGroovyファイルは、コンパイルされたJavaファイルと同じように.classファイルであるため、これが可能であると読みました。

これが私の Groovy ファイルです。

import java.io.IOException;

class GroovyTest 
{   
    public String t1(){
        return 'PASS'   
    }
} 

これが私の Robot ファイルです。

|  *** Settings ***  |

|  Library  |  GroovyTest  |


|  *** Test Cases ***  |

|  Groovy Sanity   |  [Documentation]  |  set pass string  |
|  \  |  GroovyTest.t1       |
|  \  |  Return GROOVY state  |


|  *** Keywords ***  |

|  Return GROOVY state  |
|  \  |  ${value}=        |  GroovyTest.t1    |
|  \  |  [return]         |  ${value}              |
|  \  |  Should Be Equal  |  ${value}              |  PASS    |

これは、すべての Java テスト ケースとキーワードを設定した方法と同じです。Groovy を使用すると、このエラーが発生します。

[ WARN ] Imported library 'GroovyTest' contains no keywords
4

1 に答える 1

1

編集:この回答は、クラス名「test」を使用した元の投稿にのみ適切でした。

問題は、テスト ライブラリの代わりに Robot Framework によってロードされる Jython 自体の単体テストを含む test という名前のモジュールが既に存在することです。TestGroovyLibrary のような、よりわかりやすいクラス名を試してください。

    >>> インポートテスト
    >>> ヘルプ(テスト)
    パッケージ テストのヘルプ:

    名前
        test - # このディレクトリをパッケージにするためのダミーファイル。

    ファイル
        c:\apps\jython2.5.3\lib\test\__init__.py

    パッケージ内容
        グラフ
        access_protected_class
        access_protected_field
        アニギ
        自動テスト
        bad_coding
        ...

ロードされたものを確認するには、次のようにします。

${library}=    Get Library Instance    test
Log    ${library.__file__}

RIDE での出力:

20130711 10:12:54.117 :  INFO : ${library} = <module 'test' from C:\apps\jython2.5.3\Lib\test\__init__$py.class'\>  
20130711 10:12:54.130 :  INFO : C:\apps\jython2.5.3\Lib\test\__init__$py.class
于 2013-07-11T15:06:32.563 に答える