php エディタ Xinyi は、Gorm に関する問題を紹介します。Gorm を使用してデータベース クエリを実行すると、列の順序が異なるとテストが失敗する可能性があります。これは、Gorm がクエリを実行するときに、構造内のフィールドの順序に基づいて SQL ステートメントを生成するためです。クエリで特定の列の順序を指定しても、構造内のフィールドの順序がそれと一致しない場合、テストは失敗します。したがって、データベース クエリに Gorm を使用する場合は、この問題を回避するために、構造内のフィールドの順序がクエリ内の列の順序と一致するように注意する必要があります。
私のコードには次のモデルがあります:
リーリー私は gorm.DB
構造の CreateInBatches
メソッドを使用しています。
単体テストには go-sqlmock を使用します。このモデルでは、挿入操作のみが実行されます。
リーリー私のテスト ケースは、create_date
と update_date
の順序が異なるために失敗することがあります。
失敗の 1 つは
リーリー私の使用例では、挿入内の列の順序は重要ではありません。すべてのシナリオを処理するには、単体テストでこれを処理するにはどうすればよいですか?
sqlmock ドキュメント ここを読んだ後、次の解決策が得られました。 リーリー
列と値を削除しました。私の場合、create_date フィールドと
update_date フィールドを気にする必要がないため、問題なく動作します。
以上がGorm の列の順序が異なるためテストが失敗するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。