I'm writing some test code with the help of go sqlmock.
The following code does not validates if the prepared statement has the correct query.
The main code is this:
// main.go
package main
import "database/sql"
func testFunction(db *sql.DB) {
db.Prepare("SELECT")
}
func main() {}
And the test code:
// main_test.go
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("^BADSELECT$")
testFunction(db)
if err := mock.ExpectationsWereMet(); err != nil {
t.Errorf("there were unfulfilled expections: %s", err)
}
}
As far as i know, the test should fail, but it does't. What i'm i doing wrong? I'm using GO 1.7/macOS 10.12.1.
Thanks