Merge pull request #340 from DATA-DOG/feature/316

Add WithTXOption expectation to ExpectBegin
diff --git a/expectations_go18.go b/expectations_go18.go
index 07227ed..5fade37 100644
--- a/expectations_go18.go
+++ b/expectations_go18.go
@@ -17,7 +17,7 @@
 	sets := make([]*Rows, len(rows))
 	for i, r := range rows {
 		sets[i] = r
-		if r.def != nil {
+		if r != nil && r.def != nil {
 			defs++
 		}
 	}
diff --git a/expectations_test.go b/expectations_test.go
index cf0251a..ff9f842 100644
--- a/expectations_test.go
+++ b/expectations_test.go
@@ -123,3 +123,27 @@
 	mock := &sqlmock{}
 	mock.ExpectExec("^INSERT INTO user").WithArgs("John").WithoutArgs()
 }
+
+
+func TestQueryWillReturnsNil(t *testing.T) {
+	t.Parallel()
+
+	db, mock, err := New()
+	if err != nil {
+		t.Fatal(err)
+	}
+	defer db.Close()
+
+	defer func() {
+		if err := recover(); err != nil {
+			t.Error(err)
+		}
+	}()
+
+	mock.ExpectQuery("SELECT (.+) FROM users WHERE (.+)").WithArgs("test").WillReturnRows(nil)
+	query := "SELECT name, email FROM users WHERE name = ?"
+	_, err = mock.(*sqlmock).Query(query, []driver.Value{"test"})
+	if err != nil {
+		t.Error(err)
+	}
+}