Skip to content

👍: WireMockに対して、ヘッダーが指定した値であることを確認するステップにて、URLのパスだけで一致させたい #44

Description

@naoki-tomita

what?

このステップ
API<apiName>のURL<url>にヘッダー<header>:<value>を含むリクエストをされた
ですが、URLに対し、 /foo/bar を指定して、 /foo/bar?hoge=fuga にリクエストしたとき、一致しないエラーが発生しました。ヘッダーは一致しているので、上記ステップは通るべきですが、通りませんでした。

実装は以下のようになっていて、URLが完全一致しなければエラーとなるようになっています。
クエリは別のステップでテストすべきだと思うので、URLはパスが一致すればよいものとするとより良くなると思います。

    @Step("API<apiName>のURL<url>にヘッダー<header>:<value>を含むリクエストをされた")
    fun assertHeader(apiName: String, url: String, headerKey: String, value: String) {
        val client = getWireMock(apiName)
        client.verifyThat(
            RequestPatternBuilder
                .newRequestPattern()
                .withUrl(url)
                .withHeader(headerKey, containing(value))
        )
    }

why?

正しいクエリでリクエストされたことを確認するのは別のステップでテストすべきだと思うので、URLはパスが一致すればよいものとするとより良くなると思います。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions