開発プロセスでは、go-sqlmock を使用して gorm の問題をテストすることが一般的な要件です。 go-sqlmock はデータベース操作をシミュレートするツールであり、gorm は人気のある Go 言語 ORM ライブラリです。テスト プロセスでは、クエリ ステートメントが期待を満たしているかどうかを比較する必要があることがよくあります。これを行うには、mock.ExpectQuery と regexp.QuoteMeta を比較に使用します。この方法は、コードのテストとデバッグを改善し、プログラムの正確さと安定性を保証するのに役立ちます。次に、gorm テストに go-sqlmock を使用する方法を詳しく紹介し、mock.ExpectQuery と regexp.QuoteMeta を使用してクエリ ステートメントを比較する方法を示します。
予想されるクエリと gorm の実際のクエリを比較する際に問題があります。これが私のコードです:
リーリーこれはモジュール ドメインです:
リーリーこれは私がテストしている関数です:
リーリーこれはコンソールから受け取ったエラーです:
リーリーこのセクションには代わりに「select(.*)」を使用した答えがありますが、私が読んだ限りでは、それは実際の解決策ではありません
試してみますこの問題の解決に役立ちます。すべてのファイルをダウンロードしましたが、domain.go
と repository.go
は問題ないようです。
ただし、repository_test.go
ファイルにいくつかの小さな問題が見つかりました:
;
メソッドの呼び出しがありません
リーリー
それでは、テストを実行してみると、うまくいくはずです。
これで問題が解決したかどうかお知らせください。ありがとうございます。
以上がgo-sqlmock を使用して gorm の問題をテストし、mock.ExpectQuery および regexp.QuoteMeta とクエリを比較します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。