我使用Ecto.UUID.generate
在用户模型上创建随机令牌。
在我的 ExUnit 测试中,我想测试调用创建路径的控制器,但是因为令牌总是随机的,所以我无法确定性地测试结果。
理想情况下,我希望能够在我的测试中存储 Ecto.UUID.generate
,因此它始终会创建相同的 UUID ,以便我可以正确测试响应。
谢谢:)
答案 0 :(得分:4)
在Elixir和Erlang中有一些模拟解决方案,但它们并没有被大量使用。如果您对此感兴趣,请参阅以下文章:http://blog.29steps.co.uk/post/105715556278/testing-api-web-calls-in-elixir-using-meck
老实说,我会避免模仿。如果您有API,请测试返回的ID是否为UUID(您可以查看Ecto.UUID.dump(uuid)
是否返回{:ok, something}
)。如果它是一个浏览器/ html应用程序,你很可能更关心UUID。