elixir – 测试时Ecto 2.0 SQL Sandbox错误
我最近将我的凤凰项目升级到了Ecto 2.0.2.我有一些代码使用Task.Supervisor.async_nolink在自己的线程上对db进行一些更新.我的测试运行时出现以下错误(仅在我的测试中发生)
[error] Postgrex.Protocol (#PID<0.XXX.0>) disconnected: ** (DBConnection.ConnectionError) owner #PID<0.XXX.0> exited while client #PID<0.XXX.0> is still running with: shutdown 现在我想我了解发生了什么:在db事务完成之前,正在检查Ecto Sandbox连接池.根据文档(至少我读它们的方式),解决这些问题的方法是使用共享连接池:Ecto.Adapters.SQL.Sandbox.mode(MyApp.Repo,{:shared,self()} )我在做什么.不幸的是,这不起作用. 如何设置我的测试以便不会发生此错误? 解决方法如果有其他人遇到这个,我直接从语言作者Jose Valim那里得到了答案:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |