gpt4 book ai didi

mocking - 如何在 Elixir 库 Ecto/Repo 中模拟/ stub 方法?

转载 作者:行者123 更新时间:2023-12-03 10:06:55 25 4
gpt4 key购买 nike

请告诉我如何模拟/ stub Repo 的方法我的测试模块?

例如:

  link = Repo.get_by(Link, short_url: url)
db_count = Repo.aggregate(Link, :count, :id)

我需要 Repo.aggregate返回 10000000000为我的测试。与 Repo.get_by 相同.

怎么做?

在 Elixir 的测试中,模块隔离的最佳方法是什么?

谢谢!

最佳答案

这是来自 https://github.com/gialib/ex_mock 的示例自述文件:

defmodule MyTest do
use ExUnit.Case, async: false

import ExMock

test "test_name" do
with_mock HTTPotion, [get: fn(_url) -> "<html></html>" end] do
HTTPotion.get("http://example.com")
# Tests that make the expected call
assert called HTTPotion.get("http://example.com")
end
end
end

关于mocking - 如何在 Elixir 库 Ecto/Repo 中模拟/ stub 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54967732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com