記事


バグとテストの関連付け


テストによって発見または検証されたバグを関連付けます。





概観


テストは、開発者が記述したコードが期待通りに動作していることを証明するのに役立ちます。コードが正しく動作しない場合は、バグトラッカーを利用して根本的な問題の修正に必要な作業を追跡することがよくあります。特定のバグを、そのバグを再現したり修正されたことを確認したりするテストと関連付けると、多くの場合役立ちます。


注意

このドキュメントで説明されている「バグ」は「問題」と呼ばれることもあります。テストライブラリの Issue の型との混同を避けるため、このドキュメントでは一貫して「バグ」と呼びます。



バグとテストの関連付け


バグをテストに関連付けるには、以下のいずれかの関数を使用します。


  • bug(_:_:)

  • bug(_:id:_:)

  • bug(_:id:_:)

  • これらの関数への最初の引数は、バグ追跡システム内のバグを表す URL です。


    @Test("Food truck engine works", .bug("https://www.example.com/issues/12345"))
    func engineWorks() async {
      var foodTruck = FoodTruck()
      await foodTruck.engine.start()
      #expect(foodTruck.engine.isRunning)
    }
    

    URL に加えて、または URL の代わりに、バグ追跡システム内でのバグの 一意の識別子 を指定することもできます。


    @Test(
      "Food truck engine works",
      .bug(id: "12345"),
      .bug("https://www.example.com/issues/67890", id: 67890)
    )
    func engineWorks() async {
      var foodTruck = FoodTruck()
      await foodTruck.engine.start()
      #expect(foodTruck.engine.isRunning)
    }
    

    バグの URL は文字列として渡され、RFC 3986 に従って解析可能でなければなりません。バグの一意の識別子は、整数または文字列として渡すことができます。テストライブラリが認識する形式の詳細については、バグ ID (識別子) の解釈 をご覧ください。



    関連するバグにタイトルを追加


    バグの一意の識別子または URL だけでは、テストに関連したバグを一意かつ明確に識別できない場合があります。バグ追跡は一般的に、バグの「タイトル」フィールドを提供しますが、これはテストライブラリからは参照できません。テストにバグのタイトルを追加するには、バグの一意の識別子または URL の後にタイトルを追加します。


    @Test(
      "Food truck has napkins",
      .bug(id: "12345", "Forgot to buy more napkins")
    )
    func hasNapkins() async {
      ...
    }
    




    以下も見よ


    テストの注釈付け


    テストへのタグの追加

    タグを使用して、整理、フィルタリング、外観のカスタマイズのための意味情報を提供します。


    テストへのコメントの追加

    テストに関する有用な情報を提供するためにコメントを追加します。


    バグ ID (識別子) の解釈

    テストライブラリが開発者によって提供されたバグ ID をどのように解釈するかを調べます。


    macro Tag()

    テスト関数またはテストスイートに適用できるタグを宣言します。


    static func bug(String, Comment?) -> Self

    テストで追跡するバグを構築します。


    static func bug(String?, id: String, Comment?) -> Self

    テストで追跡するバグを構築します。


    static func bug(String?, id: some Numeric, Comment?) -> Self

    テストで追跡するバグを構築します。














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ