【问题标题】:Generate test database with Phoenix espec使用 Phoenix espec 生成测试数据库
【发布时间】:2017-09-01 10:10:46
【问题描述】:
我正在考虑将我的 Elixir/Phoenix 项目测试从 ExUnit 迁移到 espec_phoenix。
如果我在运行测试之前设置了测试数据库,它就会按预期工作。
但是当我不这样做时,我得到一个错误:
12:04:27.581 [错误] Postgrex.Protocol (#PID) 失败
连接:**(Postgrex.Error)致命 3D000(invalid_catalog_name):
数据库“my_project_test”不存在
我希望 espec_phoenix 为我设置数据库,就像 ExUnit 所做的那样。
有什么想法吗?
【问题讨论】:
标签:
elixir
phoenix-framework
【解决方案1】:
ExUnit 没有对数据库做任何事情。这是mix 的别名:
defp aliases do
[
...
"test": ["ecto.create --quiet", "ecto.migrate", "test"]
]
end
我相信espec_phoenix 使用了不同的任务名称,所以,只需将其别名如下:
# or how the original task is called ⇓⇓⇓⇓⇓⇓⇓
"espec": ["ecto.create --quiet", "ecto.migrate", "espec"]