问题标签 [go-sqlmock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7473 浏览

mysql - 如何为 go-sqlmock 正确设置 Mock Row 和 Query

我正在设置测试golang
go-sqlmock用来测试mysql连接。
但是sqlmock.NewRowsmock.ExpectQuery不能很好地处理错误。
我想知道如何解决这个错误。

到go

dao_test.go

我希望go test -v运行没有错误。
但实际并非如此。
这是错误。

0 投票
0 回答
923 浏览

mysql - 单元测试 sqlmock 因 sql 更新而失败

我们一直在使用使用 select 的 sqlmock 测试 func() - 没有问题。

它不适用于更新。

我们要测试的函数是:

我们已经像这样定义了测试函数:

这是回归..

sql语句对我来说似乎相同。

0 投票
1 回答
2590 浏览

mysql - 如何测试mysql插入方法

testing在 Go 中进行设置。我go-sqlmock用来测试mysql连接。现在我尝试测试mysqlinsert逻辑。但是会发生错误。
我想知道如何解决这个错误。

到go

dao_test.go

我希望go test -v运行没有错误。
但实际并非如此。
这是错误。

0 投票
1 回答
2923 浏览

unit-testing - 如何为 BindJSON 设置模拟 gin.Context

我正在设置测试Go

go-sqlmock用来测试 mysql 连接和 Go Gin 作为框架。现在我尝试测试mysql插入逻辑。

问题是我需要设置稍后gin.Context使用的模拟。但到目前为止 我还不能设置这个。BindJSON
gin.Context

到go

dao_test.go

我希望 mockgin.Context能够正确设置并正常运行go test -v,但是它失败并出现以下错误:

0 投票
2 回答
4662 浏览

postgresql - 使用 args [] 调用查询,在 go-sqlmock 中不期望用于复合 SQL 查询

我能够成功地模拟查询以从一个表中进行选择,如下所示:

但是我无法模拟以下用于检查我的 postgres 数据库中是否存在表的查询:

组合:

我也尝试过模拟SELECT 1,但我得到了完全相同的错误:

我正在使用的软件包:

任何想法或指针表示赞赏。我在网上找不到相关的例子

0 投票
2 回答
5478 浏览

go - 进行单元测试 - 调用数据库事务开始,不是预期的错误

我正在尝试使用 Data Doggo-sqlmocktestify.

我有以下代码:

但是当我运行时TestInit,我收到以下错误:

我有几个问题:

  1. 这里有什么问题?
  2. 有没有办法知道SetupSuite函数是否正在运行?
  3. 为什么? my-project [no test files]我跑步时会得到go test?这是上面代码的文件路径:my-project/test/models/User_test.go
0 投票
0 回答
803 浏览

postgresql - 如何使用 sqlmock 模拟 db.QueryRow

我为 sql.rows 创建了 mockrows。我参考了这个文档来创建 mockrows https://github.com/DATA-DOG/go-sqlmock

我需要为 sql.row(即 db.QueryRow)创建 mockrow。我无法在 sql.mock 中找到任何合适的方法。
有没有办法使用 sqlmock 来模拟 QueryRow?

0 投票
1 回答
761 浏览

go - 无法为 INSERT 语句进行测试

我们花了 2 周令人沮丧的时间尝试使用 sqlmock 对函数和方法进行所有可能的排列,但无法对 INSERT 语句进行测试。这是非常基本的妈妈和流行 SQL。只需使用 Gorm 进行简单的插入。

太多的代码要发布,还有很多错误的排列方式和方法要在这里列出,但我会发布最新的。

这次尝试的错误:

0 投票
3 回答
13004 浏览

go - sqlmock 与查询不匹配,但查询相同且日志输出显示相同

我正在尝试使用 sqlmock 使用 Gorm 为一些代码编写测试。我想为我的插入函数编写测试,但现在我把头发拉出来试图让更新工作。

工作流的第一部分只是从数据库中查询记录。即使日志输出显示它们相同,我也无法让它与我的 SQL 匹配。

这是错误消息:

我也尝试使用ExpectQuery 的ExpectExec 插入。

我也试过:

有人知道我在这里做错了什么吗?

* 更新 *

由于某种原因,这不适用于 select 语句:

这确实有效,但现在我遇到了一个新问题。对于初学者来说,Gorm 出于某种原因正在执行 2 个选择语句......第一个工作并找到该行,第二个查询没有找到同一行。我在这里不知所措。即将放弃这个图书馆。在我们努力让它工作的时候,我本可以编写自己的。

0 投票
0 回答
951 浏览

go - 使用 sqlmock 进行单元测试时在 INSERT 上出现错误“不期望查询”

我正在尝试运行一个在数据库中执行 INSERT 的单元测试,所以我使用相同的参数模拟了 gorm 日志显示的完全相同的查询字符串,但我在尝试执行测试时仍然遇到问题,(使用 postgres驱动程序),因为似乎 sql-mock 与我在模拟中定义的 SQL 不匹配并显示如下错误:

GO Playgound 跑步示例

存储库.go

repository_test.go

我收到以下错误:

我正在使用以下版本:

github.com/DATA-DOG/go-sqlmock v1.4.0github.com/jinzhu/gorm v1.9.11

我将不胜感激任何帮助...