Skip to content

spec/services/books/search_service_spec.rb の WebMock スタブ不一致によるテスト失敗を修正する #71

@tofu-dev0123

Description

@tofu-dev0123

概要

spec/services/books/search_service_spec.rb の 16 example のうち 10 example が WebMock::NetConnectNotAllowedError で失敗している。スタブ URL パターンと RakutenBooksClient が実際に叩く URL が一致していないため、実 HTTP 接続が発生しようとしてエラーになる。

背景・状況

失敗している example

  • 正常系 8 件(検索結果・ページング・著者/サムネイル関連)
  • 異常系 2 件(q=100 文字境界・外部 API エラー時の ExternalApiError 変換)

期待する結果

  • spec/services/books/search_service_spec.rb の 16 example 全てがパスする
  • スタブと実装の URL 整合が取れていて、将来的に URL 変更があっても片側だけ変わると即検出できる状態

補足

  • 実エラー例:
    Real HTTP connections are disabled. Unregistered request: GET ...
  • トレース先: lib/clients/rakuten_books_client.rb:22Net::HTTP.start
  • 修正時は WebMock スタブのパスと RakutenBooksClient 実装の URL 構築を突き合わせて調査すること

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions