3

Maven Surefire プラグインで TestNG のカスタム レポーターを使用しようとしています。私はすでにカスタムリスナーを持っており、それが取り上げられているようです。ただし、カスタム レポーターがまったく使用されていないようです。

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <testFailureIgnore>false</testFailureIgnore>
        <properties>
            <property>
                <name>listener</name>
                <value>com.mystuff.test.TestNGListener</value>
            </property>
            <property>
                <name>reporter</name>
                <value>com.mystuff.test.MyEmailableReporter</value>
            </property>
        </properties>
    </configuration>
</plugin>

なぜこれが起こっているのですか?

4

1 に答える 1

7

私はこれを理解しました。以下はまったく機能しないように見えました。

<property>
    <name>reporter</name>
    <value>com.mystuff.test.MyEmailableReporter</value>
</property>

反対の文書にもかかわらず。TestNGクラスには、その名前に反して、 を実装するレポートを受け入れる というメソッドがあるようTestNG#addListener(IReporter listener)ですIReporter。Maven Surefire (v2.12.1) は、このメソッドを呼び出してリスナーとレポートを追加します。ただし、 name のプロパティの下にあるレポートは検索しませんreporter。代わりに、カスタム レポーターをlistenerプロパティに追加する必要があります。

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <testFailureIgnore>false</testFailureIgnore>
        <properties>
            <property>
                <name>listener</name>
                <value>com.mystuff.test.TestNGListener,com.mystuff.test.MyEmailableReporter</value>
            </property>
        </properties>
    </configuration>
</plugin>

あまり直感的ではありません。

于 2012-08-06T23:40:53.623 に答える