Comments (3)
Yes, you are not doing it right in this case. The previous issue was valid, this isn't.
There are two ways, one to expect the query on that statement (which is more straightforward)
package main
import (
"testing"
"github.com/stretchr/testify/assert"
sqlmock "gopkg.in/DATA-DOG/go-sqlmock.v1"
)
func TestPrepare(t *testing.T) {
db, mock, mErr := sqlmock.New()
assert.NoError(t, mErr)
defer db.Close()
mock.ExpectPrepare("^SELECT id FROM test WHERE id=\\$1$").ExpectQuery().WithArgs("2")
testFunction(db)
if err := mock.ExpectationsWereMet(); err != nil {
t.Errorf("there were unfulfilled expections: %s", err)
}
}
or make a next expectation for query, by repeating the query string
package main
import (
"testing"
"github.com/stretchr/testify/assert"
sqlmock "gopkg.in/DATA-DOG/go-sqlmock.v1"
)
func TestPrepare(t *testing.T) {
db, mock, mErr := sqlmock.New()
assert.NoError(t, mErr)
defer db.Close()
mock.ExpectPrepare("^SELECT id FROM test WHERE id=\\$1$")
mock.ExpectQuery("^SELECT id FROM test WHERE id=\\$1$").WithArgs("2")
testFunction(db)
if err := mock.ExpectationsWereMet(); err != nil {
t.Errorf("there were unfulfilled expections: %s", err)
}
}
from go-sqlmock.
see tests for more details or have a look in godoc
from go-sqlmock.
Works like a charm! 👍
Thanks for enlightening me.
from go-sqlmock.
Related Issues (20)
- [Feature] Add a way to test cancellation where the query still completes
- How to print go-sqlmock expected query?
- how to mock mock preload
- Getting 'Query: could not match actual sql' on identical queries HOT 2
- gordor.options PrefetchCount\FetchArraySize HOT 1
- please provide GORM example HOT 1
- using lowercase for installation
- feature: Add WithTxOptions() to ExpectBegin
- Issue with JSON Byte matching
- Unable to Mock Rows with `[]string` Type Using Custom ValueConverter HOT 2
- How can I make sqlmock not care about the order of arguments? HOT 1
- Even though I type mock.ExpectBegin(), I get db transaction begin error HOT 2
- "Issue Testing Row Scan Error with go-sqlmock: Uncovered Error Handling in Repository Function
- Improve panic output with rows.AddRow HOT 2
- test a call to a procedure
- How to mock an update with returning HOT 1
- Breaking change in v1.5.1 HOT 5
- Argument matching for queries using unpacked slices
- When expectedSQL is empty it is matching with any query HOT 1
- Mock columnsWithAlias HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-sqlmock.