return realConn.Query(query, args...) } underlyingConn.QueryRowStub = func(query string, args ...interface{}) *sql.Row { if !strings.HasPrefix(query, "EXPLAIN") { time.Sleep(120 * time.Millisecond) } return realConn.QueryRow(query, args...) } underlyingConn.ExecStub = func(query string, args ...interface{}) (sql.Result, error) { if !strings.HasPrefix(query, "EXPLAIN") { time.Sleep(120 * time.Millisecond) } return realConn.Exec(query, args...) } }) AfterEach(func() { err := realConn.Close() Ω(err).ShouldNot(HaveOccurred()) postgresRunner.DropTestDB() }) Context("when the explain fails", func() { BeforeEach(func() { underlyingConn.QueryStub = func(query string, args ...interface{}) (*sql.Rows, error) {