对此问题的跟进问题 function is undefined or private while should be accessible
我大约遇到了同样的问题。函数被认为是未定义的或私有的。
上面链接中的解决方案有效!在$ iex -S mix phx.server
中,我运行recompile()
,该函数不再是未定义的或私有的。
我的问题是它在我的测试套件中仍然是未定义或私有的。
运行mix tests
时,我再次得到UndefinedFunctionError
。
我正在从项目的根目录运行测试。
答案 0 :(得分:1)
测试模块缺少名称后缀Test
。换句话说,被测试的模块称为MyApp.MyModule
,保存测试的模块也是如此。
如果要测试的模块名为MyApp.MyModule
,则测试应位于
MyApp.MyModuleTest