2016-07-12 5 views
0

私はGradleの 'test'タスクを介して呼び出される大きなTestNGスイートを持っています。このスイートはうまく動作しますが、Gradleにテストスイートの情報を尋ねるのが難しいです。具体的には、包含グループと除外グループのリスト。Gradleの空のTestNGグループリスト

私のtestng.xmlの私のグループ構成は次のようなものになります。

<groups> 
    <run> 
    <exclude name="notReady" /> 
    </run> 
</groups> 

を私の目標は、ユーザーがコマンドラインプロパティを使用して、実行時にグループを包含/除外指定し、[追加するための手段を提供することですそれらをtestng configの適切なリストに追加します。唯一のキャッチは、私はまだtestng.xmlファイルの既存のinclude/exclude設定を尊重する必要があるということです。ここで

は、私は私のタスクブロック(マイナスコードをシンプルにするために解析するコマンドライン)で何をしようとしているの簡単なbuild.gradle例です:

test { 
    useTestNG() { 
     suites("src/test/resources/testng.xml") 
     Set<String> excludeGroups = getExcludeGroups() // Returns an empty set 
     excludeGroups.add("someOtherGroup") 
     setExcludeGroups(excludeGroups) 
    } 
} 

私はexcludeGroupsがあることを期待します[ 'notReady']、代わりに空のセットを返します。 getIncludeGroups()も同じことが起こります。私はsuites()が呼び出されたときに実際にXMLファイルを読み込んで解析しないので、これは疑わしいですが、私はそれを裏付ける証拠はありません。

私はTestNGOptionsのドキュメントを覗き込んできましたが、私が何か間違っているのか、それとも予想された動作なのか分かりません。明らかに、私はtestng.xmlの代わりにbuild.gradleにデフォルトのインクルード/除外リストを定義することで問題を回避することができますが、それは一種の気がします。誰かが私のためにこれについて少しの光を照らすことができれば、それは非常に高く評価されるだろう。あなたは、XML自体はBeanShellのを使用して、実行時にグループを設定可能にすることができ

おかげで、

アンディ

答えて

関連する問題