PHP 開発では、MockDB (MockDB 型変数) を構造内の gorm.DB 値として使用すると、問題が発生する可能性があります。この場合、MockDB を gorm.DB に直接割り当てることはできません。これにより、コードのコンパイルに失敗したり、実行時エラーが発生したりする可能性があります。この問題に関して、PHP エディターの Xigua は、型変換を使用したり、構造内の gorm.DB 値が正しく割り当てられるようにコード ロジックを再設計したりするなど、他の方法で対処することを提案しました。正しい方法を使用してこの問題を処理すると、不要なエラーや例外を回避し、コードの信頼性と安定性を向上させることができます。
postgresデータベースから演習問題を取得するget関数を作成しました。模擬テストを作成しましたが、構造からこのエラーが発生しました。どうすれば修正できますか?
*gorm.db 構造を持つハンドラー構造を使用しました。
###間違い:###mockdb (*mockdb 型変数) を構造リテラルの *gorm.db 値として使用することはできません
リーリー リーリー模擬テストにハンドラー構造を使用したい
解決策
mockdb と gorm の db
は 2 つの異なる構造なので、使用できませんそれらは交換可能です。同じインターフェイスを実装している場合は、同じ場所で使用できます。例えば:###
リーリー
これで、
*gorm.db
registerroutes 関数に渡すことができます。
mockdb 構造体が
store インターフェースのすべてのメソッドを実装している場合、テスト目的で使用できます。
以上が構造体リテラルの *gorm.DB 値として、mockDB (*MockDB 型の変数) を使用できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。