elixir - 有没有办法在 Elixir 的 ExUnit 中测试模块中的私有(private)函数?

标签 elixir

defp 定义的函数不会导出,因此我无法在模块以外的地方执行它们。

最佳答案

不,无法通过 ExUnit 测试它们。

我个人避免测试私有(private)函数,因为通常您最终会测试实现而不是行为,并且一旦您需要更改代码,这些测试就会失败。相反,我通过公共(public)函数测试预期的行为,将它们分成小的、一致的 block 。

关于elixir - 有没有办法在 Elixir 的 ExUnit 中测试模块中的私有(private)函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20949358/

相关文章:

Elixir - 如何格式化 Iex 上列表的输出

elixir - 首次通过编辑创建关联时新建和编辑变更集

elixir - 每次测试后停止 GenServer

macros - 为什么/如何/何时在 Phoenix Controller/View/etc 中使用 __using__(which) 宏?

elixir - 如何在Ecto迁移中运行更新?

elixir - 模式匹配映射作为函数参数

elixir - __using__ 可以插入到模块末尾吗?

elixir - 从列表中获取随机元素

function - 我们如何在 Elixir 中轻松地对函数调用进行计时?

elixir - 在Elixir中,如何使用字符串插值格式化数字