ホームページ > バックエンド開発 > Golang > ログに同じ出力があるにもかかわらず、Sqlmock がクエリと一致しないのはなぜですか?

ログに同じ出力があるにもかかわらず、Sqlmock がクエリと一致しないのはなぜですか?

Linda Hamilton
リリース: 2024-11-12 16:59:02
オリジナル
284 人が閲覧しました

Why is Sqlmock Failing to Match My Query Despite Identical Output in the Log?

ログ出力の ID にもかかわらず Sqlmock がクエリと一致しない

エラー メッセージ

sqlmock を使用して Gorm テストでクエリを一致させようとすると、次のようになりますエラーは発生した問題:

解決策

この問題は、sqlmock クエリ マッチャーとして正規表現を使用することに起因します。デフォルトでは、sqlmock は厳密等価クエリ マッチャーを使用します。これには、実際のクエリと予期されるパターンが完全に一致する必要があります。

これを解決するには、QueryMatcherEqual オプションを使用してデフォルトのクエリ マッチャーを置き換えます。

追加の考慮事項

  • sqlmock クエリが実際のクエリ文字列 (エスケープする必要がある特殊文字を含む)。
  • クエリにリテラル値が含まれる場合は、WithArgs() を使用して引数を指定し、必要に応じてエスケープします。
  • クエリに関数または複雑な条件が含まれている場合は、regexp.QuoteMeta() を使用して、sqlmock が一致できる正規表現に変換します。

以上がログに同じ出力があるにもかかわらず、Sqlmock がクエリと一致しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート