0

我正在持久层中测试以下查询

select balance from transaction where customer_id=? order by tranasction_id desc limit 1

我写了下面的代码

mockDB, mock, err := sqlmock.New()
if err != nil {
    t.Error()
}
defer mockDB.Close()
sqlxDB := sqlx.NewDb(mockDB, "sqlmock")

rows := sqlmock.NewRows([]string{"balance"}).
    AddRow(100.1).AddRow(200.1)

mock.ExpectQuery("select").WithArgs(1).WillReturnRows(rows)

这不能正确测试代码,理想情况下我想做这样的事情

rows := sqlmock.NewRows([]string{"balance","customer_id"}).
    AddRow(100.1,1).AddRow(200.1,2).AddRow(300.3,1)
mock.ExpectQuery("select").WithArgs(1).WillReturnRows(row_with_one_column_desc)

我如何定义这个row_with_one_column_desc?即返回匹配的余额customer_id

4

0 回答 0