小编jps*_*.v5的帖子

如何为 BindJSON 设置模拟 gin.Context

我正在设置测试Go

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

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

server side: golang
db: mysql
web framework: gin
Run Code Online (Sandbox Code Playgroud)

道戈

server side: golang
db: mysql
web framework: gin
Run Code Online (Sandbox Code Playgroud)

dao_test.go

unc PostImageToDBDao(c *gin.Context, db *sql.DB) {
        // Because of this logic, I need to set gin.Context with json
    var imageData util.ImageData
    c.BindJSON(&imageData)

    for _, imageName := range imageData.IMAGENAMES {
        ins, err := db.Prepare("INSERT INTO images(article_uuid, image_name) VALUES(?,?)")
        if err != nil {
            log.Fatal(err)
        }
        ins.Exec(imageData.ARTICLEUUID, …
Run Code Online (Sandbox Code Playgroud)

unit-testing go go-gin go-sqlmock

13
推荐指数
1
解决办法
7090
查看次数

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

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

server side: golang
db: mysql
web framework: gin
Run Code Online (Sandbox Code Playgroud)

道戈

server side: golang
db: mysql
web framework: gin
Run Code Online (Sandbox Code Playgroud)

dao_test.go

func GetSingleArticleDao(c *gin.Context, db *sql.DB) (util.Article, *sql.Rows) {
    id := c.Params.ByName("id")
    article := util.Article{}
    errArticle := db.QueryRow("SELECT * FROM articles WHERE id = ?", id).Scan(&article.ID, &article.UUID, &article.TITLE, &article.CONTENT)
    if errArticle != nil {
        panic(errArticle.Error())
    }
    rows, errImage := db.Query("SELECT image_name FROM images WHERE article_uuid  = ?", article.UUID)
    if errImage != …
Run Code Online (Sandbox Code Playgroud)

mysql unit-testing go go-gin go-sqlmock

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

go ×2

go-gin ×2

go-sqlmock ×2

unit-testing ×2

mysql ×1