6

Bamboo を使用してプロジェクトに自動化された単体テストを追加しようとしましたが、いくつかの問題に直面しています。単体テスト自体は、JUnit パーサーと互換性のある XML ファイルを作成する googletest で行われます。

ただし、Bamboo の JUnit パーサーを実行すると、次のエラーが発生します。

02-Apr-2013 12:11:22 Starting task ''Parse UnitTest output' of type 'com.atlassian.bamboo.plugins.testresultparser:task.testresultparser.junit'
02-Apr-2013 12:11:22 Parsing test results...
02-Apr-2013 12:11:22 Failing task since test cases were expected but none were found.
02-Apr-2013 12:11:22 Finished task 'Parse UnitTest output'

いくつか試してみたので、これは .xml ファイル自体とは何の関係もないようです。これには、googletest によって生成された独自の output.xml と、https://confluence.atlassian.com/display/BAMBOO/JUnit+parsing+in+Bambooからのサンプル出力が含まれていました。
また、JUnit パーサーが期待する出力と一致するはずの 2 つの提案された .xsd ファイルに対して上記のファイルを適合させましたが、すべて効果がありませんでした。

更新:
今まで、JUnit パーサーに ${bamboo.build.working.directory}/output.xml を探すように指示しまし
た **/*.xml を試したところ、うまくいきました。
私が今理解しているように、タスクの説明を注意深く読んだ後、フォルダーを指定する必要があります。しかし、ant スタイルで (グロブを使用して?) ファイルを渡すこともできます。これは少なくとも非常に紛らわしく、最初の質問に完全には答えていません。だから誰かが私を啓発できるなら、してください。

4

1 に答える 1

3

これは非常に古い質問です。後世のために回答を追加すると思いました。何人かがコメントしているように、テスト出力ファイルの構成値には相対パスが必要です。問題は、何に対して相対的かということです。

それに対する答えは、ソース リポジトリをどのように構成しているかによって異なると思いますが、一般的には、プロジェクトのルートに対して相対的になります。他のすべてが失敗した場合は、チェックアウト時に Bamboo がソース コードを配置する場所を確認してください。これは、bamboo がテスト出力の検索パスを追加するディレクトリになります。

構成構文については、ant スタイルのパターンを使用できることは間違いありません (参照用の学習 Ant パス スタイル)。

例として、ローカル マシン上の にあるプロジェクトがC:\git\MyProjectあり、テスト結果が にある場合、適切なタスク構成の [カスタム結果ディレクトリを指定] フィールドで指定しますC:\git\MyProject\Output\Tests\output.xml。を使用して、出力ディレクトリ内のすべての .xml ファイルを検索Output/Tests/output.xmlすることもできます。Output/**/*.xml

于 2015-07-27T21:06:01.857 に答える