- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我目前正在使用 go-sqlmock模拟我的数据库。
有什么方法可以在执行查询时获取已传递给 sql 驱动程序的值吗?就像这里作为参数传递的 arg
变量:
import (
"database/sql"
)
func retrieveInfo(){
// this function returns an initialized instance of type *sql.DB
DbDriver := initDb()
query := "my query"
arg := 3
rows, err := Db_driver.Query(query, arg)
// ...
}
然后我想测试函数,我想在测试的时候知道变量arg
的值。我认为这应该是可能的,因为它被传递给了 go-sqlmock 创建的“假”驱动程序。我的测试逻辑如下所示:
import "github.com/DATA-DOG/go-sqlmock"
// Inits mock and overwrites the original driver
db, mock, err := sqlmock.New()
Db_driver = db
func TestRetrieveInfo(t *testing.T){
// query that matchs the one in retrieveInfo()
query := "..."
queryRows := sqlmock.NewRows([]string{"column1, column2"}).FromCSVString("value1, value2")
mock.ExpectQuery(query).WillReturnRows(queryRows)
}
最佳答案
您可以使用仪器包装真正的驱动程序以记录值。
关于go - 使用 go-sqlmock 在 SQL 查询中获取参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43999078/
我想测试一些 SQL: select name from user where uid = ? 没关系,我可以这样模拟它: rows := sqlmock.NewRows([]string{“name
我无法获得与之相称的经历。我复制并粘贴了相同的查询,它甚至没有任何需要转义的字符。 我有以下代码: query := "SELECT id, user_id, name, description,
我正在尝试使用 sqlmock 使用 Gorm 为某些代码编写测试。我想出为我的插入功能编写测试,但现在我正在努力让更新工作。 工作流的第一部分只是从数据库中查询记录。即使日志输出显示它们相同,我也无
我无法测试任意使用数据库的函数 NewDao。我想检查返回的 Dao 是否既没有 nil client 也没有 nil product。 type Dao struct { client Clie
我使用 go-sqlmock ( https://godoc.org/github.com/DATA-DOG/go-sqlmock ) 来测试接收可变数量参数的函数(为了简单起见,我简化了函数并删除了
到这里。试图弄清楚如何使用SQL mock v2 . 这是我的界面: type OrderPersister interface { FetchOrderById(string) (*Orde
我有一个返回 2 个结果集的数据库查询,我想对执行此查询的 go 函数进行单元测试。虽然我可以像这样添加和测试行: myMockRows:=sqlmock.NewRows([]string{"col1
在尝试测试以下功能时: //Transaction Begins a sql transaction. func Transaction(db *sql.DB, txFunc func(*sql.Tx
我正在为 GoLang 应用程序编写测试用例,我正在使用 sqlmock 模拟 SQL 查询,但在执行 go test 时出现以下错误 Params: [调用查询,不是预期的,下一个预期是:Expec
我目前正在使用 go-sqlmock模拟我的数据库。 有什么方法可以在执行查询时获取已传递给 sql 驱动程序的值吗?就像这里作为参数传递的 arg 变量: import ( "database
我正在 golang 中设置测试。 我使用 go-sqlmock 来测试 mysql 连接。 但是 sqlmock.NewRows 和 mock.ExpectQuery 不能正常工作并出现错误。 我想
我能够像这样成功地模拟查询以从一个表中进行选择: sqlMock.ExpectQuery("^SELECT DISTINCT (.+) FROM myTable1, myTable2").
存储库.go func (repo *Repository) Update(info *model.Requests) error{ if info == nil{ return n
我是一名优秀的程序员,十分优秀!