在表格驱动的测试中,最好为每个测试用例指定密钥。当测试用例覆盖了大量的垂直空间(例如,超过20-30行),当有相同类型的相邻字段,以及当你希望省略具有零值的字段时,这是有帮助的。比如说:
// Good:
tests := []struct {
foo *pb.Foo
bar *pb.Bar
want string
}{
{
foo: pb.Foo_builder{
Name: "foo",
// ...
}.Build(),
bar: pb.Bar_builder{
Name: "bar",
// ...
}.Build(),
want: "result",
},
}