私はいくつかのテストを行っています。Goでテストカバレッジを向上させるには?
package model_dao
import "io/ioutil"
const fileExtension = ".txt"
type Page struct {
Title string
Body []byte
}
func (p Page) SaveAsFile() (e error) {
p.Title = p.Title + fileExtension
return ioutil.WriteFile(p.Title, p.Body, 0600)
}
func LoadFromFile(title string) (*Page, error) {
fileName := title + fileExtension
body, err := ioutil.ReadFile(fileName)
if err != nil {
return nil, err
}
return &Page{title, body}, nil
}
とテストファイルdao_test.go:ここ
package model_dao_test
import (
"shopserver/model/dao"
"testing"
)
func TestDAOFileWorks(t *testing.T) {
TITLE := "test"
BODY := []byte("Hello, World!!")
p := &model_dao.Page{TITLE, BODY}
p.SaveAsFile()
p, _ = model_dao.LoadFromFile(TITLE)
result := p.Body
if string(BODY) != string(result) {
t.Error("Body", BODY, "saved.\n", "Load:", result)
}
}
は私がページからすべての2つのメソッドをテストしますが、テストの後、私はメッセージを参照してください。私は、ファイルdao.goを持って
なぜ85.7%しか得られないのですか?彼はこの数字を取得し、100%を得る方法は?
エラーパスをテストすることは決してないからです。 [カバーの仕組みを読む](https://blog.golang.org/cover)が必要な場合があります。 – Marc
"100%を得る方法?"しないでください。もしあなたがそうしなければならないならば、うそをつく。 :-) – Volker
ここで、 "plz"、 "dunno"、 "bout"などは、通常、声調低下のための雷導体です。それはポストに入った努力の(かなりの)信頼性の指標です。代わりに実際の言葉を使ってください。 – halfer