概要
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:22(Net::HTTP.start)
- 修正時は WebMock スタブのパスと
RakutenBooksClient 実装の URL 構築を突き合わせて調査すること
🤖 Generated with Claude Code
概要
spec/services/books/search_service_spec.rbの 16 example のうち 10 example がWebMock::NetConnectNotAllowedErrorで失敗している。スタブ URL パターンとRakutenBooksClientが実際に叩く URL が一致していないため、実 HTTP 接続が発生しようとしてエラーになる。背景・状況
rspecを実行して発覚4e5bb8e)でも同じ 10 件が失敗することを確認済みで、今回の Cookie 修正(リフレッシュトークンCookieのDomain属性とPath属性を正しく設定する #68)とは無関係の既存不具合stub_request(:get, /app\.rakuten\.co\.jp\/services\/api\/BooksBook/)lib/clients/rakuten_books_client.rbが構築する URL とパターンが一致していない可能性が高い失敗している example
正常系8 件(検索結果・ページング・著者/サムネイル関連)異常系2 件(q=100 文字境界・外部 API エラー時の ExternalApiError 変換)期待する結果
spec/services/books/search_service_spec.rbの 16 example 全てがパスする補足
Real HTTP connections are disabled. Unregistered request: GET ...lib/clients/rakuten_books_client.rb:22(Net::HTTP.start)RakutenBooksClient実装の URL 構築を突き合わせて調査すること🤖 Generated with Claude Code