1

私はこれらの2つを日食で一緒に機能させることはできません

このようにsurefireプラグインを設定できます

<suiteXmlFiles>
        <suiteXmlFile>${basedir}/src/test/resources/testng.xml</suiteXmlFile>
    </suiteXmlFiles>
    <testResources>
        <testResource>
            <directory>${project.basedir}/src/test/java</directory>
            <includes>
                <include>**/*.*</include>
            </includes>
        </testResource>
        <testResource>
            <directory>${project.basedir}/src/test/resources</directory>
            <includes>
                <include>**/*</include>
            </includes>
        </testResource>
    </testResources>

実行する$mvn testと、すべてのリソースがコンパイルされてに移動され/target/test-classesます。これは正常に機能します。

しかし、実行$mvn cleanしてからTestNGビューを使用していくつかのテストを実行すると、何もコンパイルされない/target/test-classesため、その前にテストフェーズを実行するか、何らかの方法でmaven-compiler-plugin:testCompileテストリソースをコンパイルするという目標を採用する必要があります...

ただしmaven-compiler-plugin:2.3.2:testCompile、構成を介してsurefireプラグインのようにセットアップされていませんtestResources。テストソースコードをテストクラスにコンパイルするだけです

surefireプラグインを実行するかのようにtestNGを実行するにはどうすればよいですか?私はどういうわけかから生じる効果が必要です<testResources>

4

1 に答える 1

1

testResources & resourcesの一部ですmaven-resources-plugin

compile & test-compileの一部ですmaven-compiler-plugin

TestNGビューを介してテストを実行する前に、これらすべてのフェーズと目標を呼び出すボタンをクリックするだけです。

compile 
test-compile
maven-resources-plugin:resources 
maven-resources-plugin:testResources 

また、これは非常に重要です。TestNGビューからテストを実行するたびに、eclipseは、testng.xmlクリックしたテスト(テストまたはテストのクラス)を使用して一時的な定義を作成します。EclipseのRunAsを介してtestNG実行構成を使用している場合、SureFireプラグインを介して実行するときに持っているtestng.xmlの追加設定が失われるように、次のようになります。

/tmp/testng-eclipse-388280625/testng-customsuite.xml

-

<suite name="Default suite">
  <test verbose="2" name="Default test">
    <classes>
      <class name="com.example.tests.selenium.SubmitUploadFormTest"/>
    </classes>
  </test>
</suite>

これに対処する便利な方法があります-Eclipsetestng設定でテンプレートtestng.xmlファイルを設定します。

于 2011-06-04T00:33:39.653 に答える