Модульный тест для ответа JSON, сопоставление с ответом JSON для подтверждения ключей и значения - PullRequest
0 голосов
/ 07 января 2019

Как мне проверить ключи в моем ответе JSON.

В настоящее время я делаю это:

  assert json_response(conn, 200) == %{
    "success" => true,
    "errors" => []
  } 

Теперь скажите, что у меня есть другой ключ и значение в моем ответе JSON, например:

"user" : {id: 123, name: "john"}

Как я мог сначала проверить, чтобы ключ «пользователь» был в моем ответе. И тогда как я могу утверждать, что имя "Джон"?

1 Ответ

0 голосов
/ 08 января 2019

Вы можете разделить утверждения следующим образом, хотя их также можно объединить в одно утверждение.

assert  %{
    "success" => true,
    "errors" => [],
    "user" => user
} = json_response(conn, 200)

assert %{
    "id" => _id,
    "name" => "john"
} = user

Обратите внимание, что совпадения с образцом находятся перед знаком =. Проверка на равенство (==) часто не требуется.

Также я могу сопоставить ключ "id", но значение будет проигнорировано. Это может быть полезно, когда id изменяется для каждого теста.

...