请检查此代码:
defmodule InfinitePollTask do
def poll(opts \\ [])
# function body code here
poll(new_opts)
end
end
我想为函数体代码编写单元测试,假设函数体使用opts
执行一些重要的计算,并为下一次迭代生成new_opts
。
答案 0 :(得分:4)
我只是将计算结果放到一个返回new_opts的单独函数中,并测试:
defmodule InfinitePollTask do
def poll(opts \\ [])
poll(do_poll(opts))
end
def do_poll(opts)
# important computation
end
end
defmodule InfinitePollTaskTest do
use ExUnit.Case
test "some case" do
assert InfinitePollTask.do_poll(some_opts) == some_result_opts
end
end