我Ecto.UUID.generate
用来在用户模型上创建一个随机令牌。
在我的ExUnit测试中,我想测试调用创建路由的控制器,但是由于令牌始终是随机的,我无法确定性地测试结果。
理想情况下,我希望能够在我的测试中存根,Ecto.UUID.generate
以便它始终创建相同的UUID,以便我可以正确测试响应。
谢谢 :)
我Ecto.UUID.generate
用来在用户模型上创建一个随机令牌。
在我的ExUnit测试中,我想测试调用创建路由的控制器,但是由于令牌始终是随机的,我无法确定性地测试结果。
理想情况下,我希望能够在我的测试中存根,Ecto.UUID.generate
以便它始终创建相同的UUID,以便我可以正确测试响应。
谢谢 :)
Elixir 和 Erlang 中有 mocking 解决方案,但它们的使用并不多。如果你更感兴趣,这里有一篇文章: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。