golang应该是一个集成测试吗?

问题描述 投票:-1回答:1

我有一个实现数据库接口的方法,该方法将“对象”插入数据库。

type database interface {
    createLog(logDoc) (bool, error)
}


type mongo struct {
    database   string
    collection string
}

func (m mongo) createLog(l logDoc) (bool, error) {

    s, err := mgo.Dial("mongo")

    defer s.Close()

    if err != nil {
        return false, err
    }

     err = s.DB(m.database).C(m.collection).Insert(l)
     if err != nil {
        return false, err
     }

     return true, nil
}

我希望能够测试createLog方法,我该怎么做?它应该是一个集成测试吗?如果是这样你的方法是什么?

先感谢您

unit-testing testing go integration-testing
1个回答
0
投票

我只是在观看视频后想到了一点点,如果没有人回答,我会回答我自己的问题。

这段视频让我没有编写任何集成测试,而是编写单元测试。并创建存根,允许我修改接口的行为方式,允许我在数据库行为正确和错误时进行测试。

如果你能想出一个更好的方式描述我说的话,那就请:)

© www.soinside.com 2019 - 2024. All rights reserved.