如何测试JSON响应中的密钥。
目前我正在这样做:
assert json_response(conn, 200) == %{
"success" => true,
"errors" => []
}
现在说我的JSON响应中还有另一个键和值,例如:
"user" : {id: 123, name: "john"}
我如何首先进行测试以确保密钥“用户”在我的响应中。 然后我怎么断言这个名字是“ john”?
答案 0 :(得分:3)
您可以像这样拆分断言,尽管也可以将其合并为一个断言。
assert %{
"success" => true,
"errors" => [],
"user" => user
} = json_response(conn, 200)
assert %{
"id" => _id,
"name" => "john"
} = user
请注意模式在=
之前的匹配方式。通常不需要进行相等性检查(==
)。
此外,我可以在“ id”键上进行匹配,但该值将被忽略。当每个测试的id
发生变化时,这将很有帮助。