1

我有一个测试模块一个接一个地同步运行。我想在所有
测试完成 后清除测试对数据库所做的所有更改,即我希望数据在一个测试到另一个测试之间保留在数据库中。 我的应用程序正在使用 PostgreSQL 数据库 ( )。 当我在函数中使用时,每次测试后数据库都会被清理。 这是我的文件:
MyRepo
Ecto.Adapters.SQL.Sandbox.checkout(MyRepo)setup_all
condig/test.exs

config :my_repo, MyRepo,
       pool: Ecto.Adapters.SQL.Sandbox,
       database: "my-repo-test",
       username: "postgres",
       password: "postgres",
       hostname: "localhost",
       port:     "5432",
       pool_size: 1,
       max_overflow: 0,

正确的方法是什么?

4

1 回答 1

2

您可能会使用ExUnit.Callbacks.on_exit/2

setup_all do
  on_exit fn -> Repo.cleanup() end
end
于 2019-07-01T11:56:00.537 回答