5

Ecto.UUID.generate用来在用户模型上创建一个随机令牌。

在我的ExUnit测试中,我想测试调用创建路由的控制器,但是由于令牌始终是随机的,我无法确定性地测试结果。

理想情况下,我希望能够在我的测试中存根Ecto.UUID.generate以便它始终创建相同的UUID,以便我可以正确测试响应。

谢谢 :)

4

1 回答 1

5

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。

于 2015-05-07T09:23:41.690 回答