私は継続的なテストのために Jenkins + Maven + Java を使用しており、最近 Thucydides + JBehave が追加されました。私は Jenkins と Thucydides にかなり慣れていないので、ビルド レポートを表示する際に問題に直面しました。
Jenkins の構成を変更する権限がないため、Thucydides のレポートを正しく表示するためのプラグインを追加できません。既存の Jenkins プラグインを使用して Thucydides レポートをビルドに添付できますが、標準の JUnit レポートもいくつか必要です (正しい電子メール通知などのために)。
実際には 6 つのシナリオがあるのに、JUnit は 28 のテストがあると「考え」ます。Failsafe プラグインはレポート xml ファイルを生成します。
<testcase time="0.027" classname="java.lang.Object" name="BeforeStories"/>
<testcase time="0.032" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Given 2"/>
<testcase time="0.002" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="When adding 3"/>
<testcase time="0.003" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Then equals to 5"/>
<testcase time="0.011" classname="Scenario: 2 + 3 = 5" name="Scenario: 2 + 3 = 5"/>
<testcase time="0.002" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Given 3"/>
<testcase time="0.002" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="When adding 3\u200B"/>
<testcase time="0.002" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Then equals to 6"/>
<testcase time="0.009" classname="Scenario: 3 + 3 = 6" name="Scenario: 3 + 3 = 6"/>
<testcase time="0.002" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Given 3\u200B"/>
<testcase time="0.003" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="When adding 4"/>
<testcase time="0.002" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Then equals to 7"/>
<testcase time="0.01" classname="Scenario: 3 + 4 = 7" name="Scenario: 3 + 4 = 7"/>
<testcase time="0.014" classname="Additional.story" name="Additional.story"/>
<testcase time="0.003" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Given 2\u200B"/>
<testcase time="0.001" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="When adding 2"/>
<testcase time="0.003" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Then equals to 4"/>
<testcase time="0.01" classname="Scenario: 2 + 2 = 4" name="Scenario: 2 + 2 = 4"/>
<testcase time="0.002" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Given 3\u200B\u200B"/>
<testcase time="0.001" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="When adding 5"/>
<testcase time="0.002" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Then equals to 8"/>
<testcase time="0.009" classname="Scenario: 3 + 5 = 8" name="Scenario: 3 + 5 = 8"/>
<testcase time="0.004" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Given 3\u200B\u200B\u200B"/>
<testcase time="0.005" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="When adding 6"/>
<testcase time="0.001" classname="TestPhucydidesJBehave.jbehave.DefinitionSteps" name="Then equals to 9"/>
<testcase time="0.008" classname="Scenario: 3 + 6 = 9" name="Scenario: 3 + 6 = 9"/>
<testcase time="0.012" classname="Simple.story" name="Simple.story"/>
<testcase time="0.006" classname="java.lang.Object" name="AfterStories"/>
ご覧のとおり、余分なものがたくさんあります。「テスト」は単なるシナリオであることを、Failsafe と JUnit に「説明」する方法がわかりません。
どんなヒントもとても役に立ちます!