2017-08-13 19 views
0

データベースインターフェイスを実装するメソッドがあり、そのメソッドはデータベースに「オブジェクト」を挿入します。golangは統合テストですか?

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メソッドをテストできるようにしたいのですが、どうすればいいですか?統合テストであるべきか?もしそうならあなたのアプローチは何ですか?

は、私は少しのためにこれを熟考&ビデオを見た後に考えて、誰も答えていない場合、私は自分の質問に答える事前

+2

http://blog.thecodewhisperer.com/permalink/integrated-tests-are-a-scam – Flimzy

答えて

0

でいただきありがとうございます。

このビデオでは、統合テストを書くのではなく、単体テストのテストを書くことになりました。インターフェイスが正常に動作するようにスタブを作成することで、データベースが正しく動作しているかどうかをテストすることができました。

あなたは、私が行ってくださいその後、言ったことを記述するより良い方法を考えることができれば:)