2 回答
TA贡献1802条经验 获得超5个赞
测试将在包含测试的目录中运行
所以 Getwd 将给出该目录的路径
测试目录下文件中测试数据的文件名应以下划线开头_
但是,您的程序需要一个名为“file.txt”的文件。为了支持测试这个不以_
在(例如)/tmp 中创建文件 file.txt 开头的文件路径,在运行测试之前立即对 /tmp 执行 chdir 并让测试获取刚刚创建的文件
TA贡献1871条经验 获得超8个赞
为了编写单元测试,你需要在同一个包中创建一个文件,假设fileName_test.go 你的文件名是这样的read.go,那么你的测试文件名应该是read_test.go。
read_test.go
package main
import (
"testing"
"fmt"
)
func TestReadOneFile(t *testing.T) {
var a Source
f, err := a.readOneFile()
if err != nil {
t.Errorf("incorrect")
} else {
fmt.Println("passed")
}
}
在这里你必须用Testas 前缀命名你的测试函数名称并且需要导入包testing。
创建单元测试后,您可以通过运行以下两个命令来检查代码覆盖率:
1. go test --coverprofile coverage.out
2. go tool cover -html=coverage.out
- 2 回答
- 0 关注
- 119 浏览
添加回答
举报