更具体地说,我有一个使用 Ecto 和 Repo 的 Phoenix 应用程序。我想在运行每个更改数据库的 Exunit 测试后刷新我的数据库。
我可以做到这一点的一种方法是change
在目录中运行迁移中的所有功能priv/repo/migrations/
,但我觉得应该有更好的方法。
也许像运行刷新功能一样?
更具体地说,我有一个使用 Ecto 和 Repo 的 Phoenix 应用程序。我想在运行每个更改数据库的 Exunit 测试后刷新我的数据库。
我可以做到这一点的一种方法是change
在目录中运行迁移中的所有功能priv/repo/migrations/
,但我觉得应该有更好的方法。
也许像运行刷新功能一样?
我相信在沙盒模式下运行 Ecto 时,这已经为您处理好了,这是 Phoenix 生成测试用例的方式。
如果您将这些副作用测试收集到一个文件中,您可以使用setup回调,如下所示:
setup do
for model <- [list modules you want to clear], do: Repo.delete_all(model)
end