【发布时间】:2018-01-30 02:55:54
【问题描述】:
所以我使用 Elixir/Phoenix 和 ESpec 测试框架进行了如下测试设置:
let :response do
resp = build_conn() |> put("/kites/#{id_function()}", [horizontal: "more", default: true])
Poison.Parser.parse!(resp.resp_body, keys: :atoms!)
end
当我调用 response() 时,我收到如下错误:
** (Poison.EncodeError) unable to encode value: {Plug.Adapters.Test.Conn, %{chunks: nil, method: "PUT", owner: #PID<0.46.0>, params: nil, ref: #Reference<0.0.5.1528>, req_body: ""}}
(poison) lib/poison/encoder.ex:354: Poison.Encoder.Any.encode/2
(poison) lib/poison/encoder.ex:213: anonymous fn/4 in Poison.Encoder.Map.encode/3
(poison) lib/poison/encoder.ex:214: Poison.Encoder.Map."-encode/3-lists^foldl/2-0-"/3
(poison) lib/poison/encoder.ex:214: Poison.Encoder.Map.encode/3
(poison) lib/poison/encoder.ex:213: anonymous fn/4 in Poison.Encoder.Map.encode/3
(poison) lib/poison/encoder.ex:214: Poison.Encoder.Map."-encode/3-lists^foldl/2-0-"/3
(poison) lib/poison/encoder.ex:214: Poison.Encoder.Map.encode/3
(poison) lib/poison/encoder.ex:213: anonymous fn/4 in Poison.Encoder.Map.encode/3
1 examples, 1 failures
Finished in 1.0 seconds (0.76s on load, 0.24s on specs)
发生了什么事?我是否正确地将参数传递给 PUT 请求?
【问题讨论】:
-
这是整个错误信息吗?奇怪的是,您的测试代码的堆栈跟踪中没有一行。