Comments (4)
closing it, if there are still some questions - reopen
from go-sqlmock.
fyi for future readers: you may find regexp.QuoteMeta helpful. It will automatically escape special regexp characters.
from go-sqlmock.
hi, sorry for the late answer. could you give an example of the query you had troubles with?
currently the query stripper does it in a simple way, by stripping only whitespace. I agree this is not a perfect solution it may be improved, cheers.
from go-sqlmock.
Well, the issue you had, most probably is because you haven't escaped regular expression special characters. See the commit reference above. And it would be a good practice to keep your query matching short, because sqlmock matches them in the given order. If you expect a query "SELECT" and an update query is fired, then a test will fail, because it matches queries in order. So you can keep them like:
sqlmock.ExpectQuery("SELECT (.*) FROM orders")
sqlmock.ExpectQuery("SELECT (.*) FROM users")
sqlmock.ExpectQuery("SELECT (.*) FROM orders")
sqlmock.ExpectExec("UPDATE orders")
sqlmock.ExpectExec("INSERT INTO products")
If queries are not fired in the same order, the test would fail.
The query stripper only strips whitespace, newlines and such and makes only a single space between sql parts.
from go-sqlmock.
Related Issues (20)
- 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
- sqlmock panics when closing empty Rows object
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.