在具有结构的golang中进行单元测试

时间:2018-03-29 13:41:56

标签: go

我将VSCode生成用于我项目的测试文件,

当前它会生成以下结构

tests := []struct {
        name    string
        args    args
        wantOut ZTR
    }{
        name: "test123",
        args: args{
            ztrFile: "./testdata/ztrfile.yaml",
        },
        wantOut: “ZTR.Modules",
    }

测试应涵盖yaml的解析和测试属性

这里它可以解析文件

for _, tt := range tests {
        t.Run(tt.name, func(t *testing.T) {
            if gotOut := parseFile(tt.args.ztrFile); !reflect.DeepEqual(gotOut, tt.wantOut) {
                t.Errorf("parseFile() = %v, want %v", gotOut, tt.wantOut)
            }
        })

这是结构

type Modules struct {
    Name       string
    Type       string
    cwd       string     `yaml:”cwd,omitempty"`
}

我不知道我需要放在哪里才能使它工作,我尝试使用类型,但我得到错误

        {
            name: "test123",
            args: args{
                mtaFile: "./testdata/ztrfile.yaml",
            },
            wantOut: “ZTR.Modules",
        }

我得到的错误是

消息:'不能使用'test123“(类型字符串)作为类型struct {name string; args args; wantOut ZTR} in array或slice literal' at:'41,3' 资源: '' 代码:'undefined'

0 个答案:

没有答案