title: Golang test, call to database Prepare should fail, but it does not
body: <p>I'm writing some test code with the help of go sqlmock.</p>
  
  <p>The following code does not validates if the prepared statement has the correct query.</p>
  
  <p>The main code is this:</p>
  
  <pre><code>// main.go
  package main
  
  import "database/sql"
  
  func testFunction(db *sql.DB) {
      db.Prepare("SELECT")
  }
  
  func main() {}
  </code></pre>
  
  <p>And the test code:</p>
  
  <pre><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)
      }
  
  }
  </code></pre>
  
  <p>As far as i know, the test <strong>should fail,</strong> but it does't. What i'm i doing wrong? 
  I'm using GO 1.7/macOS 10.12.1. </p>
  
  <p>Thanks </p>