or perhaps expand subset so it can also handle maps.
a := map[string]string{
"one": "foo",
"two": "bar",
"three": "baz",
}
b := map[string]string{
"one": "foo",
"three": "baz",
}
c := map[string]string{
"one": "foo",
"three": "notbaz",
}
assert.MapSubset(t, a, b, "a does not contain b") // will pass
assert.MapSubset(t, b, a, "b does not contain a") // will fail b does not have two=bar
assert.MapSubset(t, a, c, "a does not contain c") // will fail a does not have three=notbaz