問題タブ [go-sqlmock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 異なる DAO で同じ DB トランザクションを使用する
Golang アプリケーションの 1 つで、API で複数のテーブルを更新するユースケースがあり、更新の 1 つが失敗した場合、以前のすべての更新をロールバックする必要があります (Java で @Transactional が行うこと)。以下の方法でやってみました。
しかし、Update1 および Update2 メソッドで新しいトランザクションを作成しているため、これは機能しません。そこで、以下のようにメソッド Update1 & Update2 のメソッド パラメータでトランザクションを渡そうとしました。
しかし、問題は、メソッド Update1 だけを呼び出す必要がある場合です。その場合、Update1 メソッドで渡されるトランザクションの値は何でしょうか?
または、それを行うためのより良い方法があります。誰か助けてくれませんか?
unit-testing - Goでマッピングを使用して選択をモックすると、予想されるトランザクション開始エラーが返されます
go-sqlmock を使用して選択を行い、マップされた ID を返す簡単な単体テストを実行しようとしています。以下のコードスニペット
テストしたい実装のスニペットは次のとおりです。
しかし、次のエラーが発生します。
いくつかの例を試しましたが、成功しませんでした。皆さんの助けに感謝します
アップデート
s.sqlmock.ExpectBegin() and s.sqlmock.ExpectCommit()
コードを削除して、次のようにクエリを変更しようとしました。
しかし、次のエラーが発生します。
クエリ: 実際の SQL と一致しませんでした: "select id from project where id = ? and archived = 1" と予想される正規表現 "select id from project where id = ? and archived = 1"