0

他のスレッドでCedricBeustが提案した、次のことを試しています。

これは、テスト前のタスクとして自分で行うことができます。XML形式で情報を取得するコードジェネレーターを実装し、対応するJavaソースファイルを取得して、すべてのアノテーションが適切な場所に配置されたTestNGソースファイルを生成します。次に、そのファイルに対してTestNGを実行します。

コード生成の手がかりがありません。誰かが私を正しい方向に導くことができますか?いくつかの簡単な例があれば素晴らしいでしょう。

更新:これは私が生成したいもののテンプレートです。

public class <tobeReadFromConfigFile>
{
  @Test(groups="to be read from config file")
  public void <tobereadfromconfigfile>{
     //to be read from config file(Name of function to call)
     //to be read from config file(Name of function to call)
     //to be read from config file(Name of function to call)
  }
  .
  .
  .
}

関数内のコードは関数呼び出しであり、構成ファイルから正確に読み取ってコピーする必要があります。

4

2 に答える 2

3

FreeMarkerテンプレートは次のようになります。

public class ${className} {
    @Test(groups="${testGroups}")
    public void ${testMethodName}() {
        <#list methods as m>
        ${m}
        </#list>   
    }
}

これは、XMLファイルから読み取られるコンテキスト(基本的には、、などのエントリを含むハッシュマップclassName)から入力されます。(リストのように)、XMLファイルからも読み取られます。testGroupsmethodsCollection

もちろん、他にも多くのテンプレートライブラリがあります。これは単なる例です。

FreeMarker

于 2012-06-14T20:56:45.080 に答える
0

freemarkerテンプレートを使用し、org.eclipse.jdt.coreのICompilationUnitとして名前付きJavaクラスのコンテキストを提供するEclipseプラグインを作成しました。https://github.com/karajdaar/templatorで確認できます

于 2013-03-21T16:25:47.820 に答える