몇 가지 테스트를하고 있습니다.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)
}
}
내가 페이지 모든이 방법을 테스트하지만 테스트 후 나는 메시지가 표시 : 나는 파일 dao.go이
85.7 % 밖에되지 않는 이유는 무엇입니까? 그가이 숫자를 얻는 방법과 100 %를 얻는 방법?
아마도 오류 경로를 테스트하지 않았기 때문일 수 있습니다. [커버 작동 방법에 대해 읽어보기] (https://blog.golang.org/cover)를 원할 수 있습니다. – Marc
"100 % 얻는 방법?" 하지마. 그리고해야한다면 : 거짓말. :-) – Volker
여기서 "plz", "dunno", "bout"(등)는 보통 downvotes의 피뢰침입니다. 이것은 게시물에 들어가는 노력의 부족에 대한 신뢰성있는 지표입니다. 대신 실제 단어를 사용하십시오. – halfer