テスト実行の成功に関連する未解決の不具合を取得する

このフローは、成功したテスト実行に関連する未解決の不具合のリストを取得する方法を示しています。このAPIを実行して、成功したテスト実行に基づいて、クローズする必要のある不具合をチェックすることをお勧めします。

エリア: テストの実行、不具合 

エンティティ関連図

このフローでは、次のエンティティにアクセスし、これらのエンティティ間の関係を理解する必要があります。

エンティティ このフローの関係 関係の説明 参照 /関係フィールド
不具合 フェーズ フェーズは、不具合などの項目のステータスを示します。 phase
実行 テストの実行時に不具合を開くことができます。  
実行 テスト 実行はテストに関連付けられています。 test
不具合 不具合は、特定の実行で開かれる可能性があります。たとえば、その実行中に発見された場合などです。 run
テスト 実行

この集約リソースコレクションは、手動、Gherkin、テストスイート、自動化など、テストの種類を表します。

テストは実行に関連付けることができます。

run

トップに戻る

フロー

ステップバイステップでREST API呼び出しを作成しましょう。

  1. 不具合は開いていますが、不具合に関連するテストは正常に実行されます。おそらく、不具合を閉じるのを忘れただけです。このフローのテストのIDは1113です。

    最初のステップとして、ワークスペース1002のすべての不具合を一覧表示します。

    GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects

  2. query_clauseの作成を始めましょう。クエリ句は3つの基準をチェックします。条件は、および演算子を表すセミコロン (;) で区切ります。

    最初の基準は、修正されたワークスペースの不具合をリストすることです。phase参照フィールドを使用し、フェーズリストのlogical_nameフィールドでフィルタリングして、固定フェーズのみを検索します。

    GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects?query="phase EQ {logical_name EQ ^phase.defect.fixed^}"

  3. 修正された不具合のみを調べることに加えて、特定のテスト1113の実行のみを調べたいと思います。

    GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects?query="phase EQ {logical_name EQ ^phase.defect.fixed^};run EQ {test EQ {id EQ 1113};}"

  4. 最後に、実行のステータスをチェックする句をクエリ句に追加します。成功した (合格した) テスト実行の不具合のみを確認したいと思います。

    Statusは参照フィールドです。リストノードのlogical_nameフィールドを実行ステータスに使用して、passedのステータスを確認します。

    GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects?query="phase EQ {logical_name EQ ^phase.defect.fixed^};run EQ {test EQ {id EQ 1113}; status EQ {logical_name EQ ^list_node.run_status.passed^}}"

このフローの完全なREST API呼び出しは次のとおりです。 

GET .../api/shared_spaces/<space_id>/workspaces/<workspace_id>/defects?query="phase EQ {logical_name EQ ^phase.defect.fixed^};run EQ {test EQ {id EQ 1113}; status EQ {logical_name EQ ^list_node.run_status.passed^}}"

トップに戻る

Javascriptの例

/**
 * Flow: How to find open defects with associated successful run.
 * Use case:  I have fixed the defect and the test is find but I forgot to close the defect.
 * Find fixed defects with all associated successful run of a test with id x
 * @param requestor
 */
function getClosedDefectsWithFailingTests2(requestor) {
  var testId = 1113;

  requestor.get('/defects?query="phase EQ {logical_name EQ ^phase.defect.fixed^};' +
    'run EQ {test EQ {id EQ '+ testId +'};' +
    ' status EQ {logical_name EQ ^list_node.run_status.passed^}}"', function(error, message, defects) {
    console.info(defects);
  });
}

exports.getClosedDefectsWithFailingTests2 = getClosedDefectsWithFailingTests2;

トップに戻る

参照情報: