2

TestNG にいくつかのテストがあり、Gradle を使用してそれらを実行しています。実行時に選択したい Spring Bean のプロパティがいくつかあります。

したがって、この異なる Bean を選択するには、文字列パラメーターを useTestNG 呼び出しに渡したいと思います。私のbuild.gradleは次のようになります:

apply plugin: 'java'
dependencies {
  compile fileTree(dir: 'lib', include: '*.jar')
}
test {  
    useTestNG()
}

パラメータは「bean1」、「bean2」、... のようになり、Java コードではどの bean を使用するかを選択します。

    ApplicationContext context = new FileSystemXmlApplicationContext("**/pathToXML.xml");       
    Locators obj = (Locators) context.getBean("bean1");

これがこの問題を解決する良い方法ではなく、別のアプローチの方が良い場合は、それを知っていただければ幸いです

4

3 に答える 3

0

testng 自体からアプリケーション コードにパラメータを渡すことを含めたほうがよいでしょう。gradle から異なるパラメーターを渡すと、Eclipse などの IDE など、他の場所から単体テストを簡単かつ迅速に実行できなくなります。

于 2013-01-11T17:11:56.663 に答える
0

次のように、テスト タスクでシステム プロパティを渡すことができます。

test{
    systemProperty 'bean1', 'com.foo.Bar'
    useTestNG()
}

Javaコードでは、次の方法でアクセスできますSystem.getProperty("bean1");

于 2013-11-28T08:00:08.047 に答える