JUnit レポートのサンプル
JUnit レポート フォーマットは、テスト自動化フレームワークや CI ツールがテスト結果を保存し、視覚化するのに広く使われています。TestRail CLI はレポートを解析し、要素を TestRail エンティティに変換します。それらのエンティティは API によってインポートされます。下記は標準的な JUnit レポートのサンプルです。
<testsuites name="test suites root"> <testsuite failures="0" errors="0" skipped="1" tests="1" time="3049" name="tests.LoginTests"> <properties> <property name="setting1" value="True"/> <property name="setting2" value="value2"/> </properties> <testcase classname="tests.LoginTests" name="test_case_1" time="159"> <skipped type="pytest.skip" message="Please skip">skipped by user</skipped> </testcase> <testcase classname="tests.LoginTests" name="test_case_2" time="650"> </testcase> <testcase classname="tests.LoginTests" name="test_case_3" time="121"> <failure type="pytest.failure" message="Fail due to...">failed due to...</failure> </testcase> </testsuite> </testsuites>
JUnit タグ
次の表に示すように、TestRail CLI によって Junit レポート タグが解析され、TestRail エンティティに変換されます。
XML JUnit タグ | TestRail でのマッピング |
---|---|
<testsuites> |
テスト スイート |
<testsuite> |
セクション |
<testcase> |
テスト ケース |
JUnit テスト スイート
<testsuite>
タグが付いた要素は、TestRail のセクションに変換され、プロパティが TestRail のテスト ランの説明に追加されます。下に <property>
子タグを持つ <testsuite>
のサンプルを示します。
<testsuites name="test suites root"> <testsuite failures="0" errors="0" skipped="1" tests="1" time="3049" name="tests.LoginTests"> <properties> <property name="setting1" value="True"/> <property name="setting2" value="value2"/> </properties> (...) </testsuite> </testsuites>
属性またはタグ | TestRail でのマッピング |
---|---|
name |
セクション名 |
<property> |
プロパティ名および値が連結され、テスト ランの説明に追加されます。 |
JUnit テストケース
<testcase>
タグが付いた要素は TestRail のテスト ケースとそのテスト結果に変換されます。
属性 | TestRail でのマッピング |
---|---|
name |
テスト ケース名 |
time |
テスト結果の経過時間です。 |
テスト結果ステータスは <testcase>
タグの子タグによって定義されます。タグがない場合、テスト結果は Passed になります。<failure>
タグがある場合、テスト結果は Failed になり、<skipped>
タグがある場合、テスト結果は Retest になります。下の表はサンプルを示しています。
XML 構造 | TestRail のステータス |
---|---|
<testcase classname="tests.LoginTests" name="test_case_1" time="135"> </testcase> |
Passed |
<testcase classname="tests.LoginTests" name="test_case_1" time="135"> <failure type="errorType" message="Failure message"> Error (stacktrace) </failure> </testcase> |
Failed |
<testcase classname="tests.LoginTests" name="test_case_1" time="135"> <skipped type="skipType" message="Skip test"> Test skipped by user </skipped> </testcase> |
Retest |
属性のデータと、<failure>
および <skipped>
タグのテキストが下記のフォーマットでテスト結果のコメントに追加されます。
Type: errorType Message: Failure message Text: Error (stacktrace)
JUnit テストケース プロパティ
レポートにカスタム プロパティを追加することで、テスト ケースおよびテスト結果のデータを補足できます。サポートされるプロパティとその意味は、下の表に示されています。
名前 | TestRail でのマッピング |
---|---|
testrail_case_field |
テスト ケース フィールド |
testrail_result_field |
テスト結果フィールド |
testrail_result_comment |
テスト結果のコメントに値を追加します。 |
testrail_attachment |
テスト結果にアップロードする添付ファイルのパスです (最大 256MB) |
これらのプロパティの一部は単一の値だけを要求しますが、フィールド プロパティは、フィールド名と対応する値を必要とします。そのようなプロパティについては、field_name:field_value
というフォーマットを使用します。これらのプロパティの使用方法の詳細は、TestRail CLI 使用例ページを参照してください。
<testsuites name="test suites root"> <testsuite failures="0" errors="0" skipped="1" tests="1" time="3049" name="tests.LoginTests"> <testcase classname="tests.LoginTests" name="test_case_1" time="650"> <properties> <property name="testrail_case_field" value="custom_preconds:My preconditions"/> <property name="testrail_case_field" value="type_id:3"/> <property name="testrail_result_field" value="version:1.1"/> <property name="testrail_result_field" value="custom_field:custom_value"/> <property name="testrail_result_step" value="passed: Insert login credentials"/> <property name="testrail_result_step" value="failed: Click submit"/> <property name="testrail_result_step" value="untested: User should be logged in"/> <property name="testrail_result_comment" value="Finding 1"/> <property name="testrail_result_comment" value="Finding 2"/> <property name="testrail_attachment" value="path_to/logs.log"/> <property name="testrail_attachment" value="path_to/screenshot.jpg"/> </properties> </testcase> </testsuite> </testsuites>