I am using table driven test for my method but getting error while assigning the value to the field which is the array of structure, situation is something like given below.
var validStats = []struct{
status []v1.ReplicaStatus
}{
{
status: []v1.ReplicaStatus {
IP string
Status string
DataUpdateIndex string
}{
{
IP: "10.10.10.10",
Status: "Online",
DataUpdateIndex: "1",
},
{
IP: "10.10.10.11",
Status: "Online",
DataUpdateIndex: "1",
},
},
}
}
and i'm getting the error missing ',' in composite literal
at line no 6 and at the end of the code.What is wrong with this?
You're using a named type (ReplicaStatus
), but then trying to define your struct fields anyway:
status: []v1.ReplicaStatus {
IP string
Status string
DataUpdateIndex string
}{
Don't do that. Instead, do this:
status: []v1.ReplicaStatus{
{
IP: "10.10.10.10",
Status: "Online",
DataUpdateIndex: "1",
},
{
IP: "10.10.10.11",
Status: "Online",
DataUpdateIndex: "1",
},
}
You should only define field names in this context, if you are using an unnamed type, as in:
status := []struct { // Notice this is now an anonymous struct type
IP string
Status string
DataUpdateIndex string
}{
{
IP: "10.10.10.10",
Status: "Online",
DataUpdateIndex: "1",
},
{
IP: "10.10.10.11",
Status: "Online",
DataUpdateIndex: "1",
},
}