elixir - Phoenix 框架 : mix test fails with argumenterror on new app

标签 elixir phoenix-framework elixir-mix

所以,我是 Elixir 和 Phoenix 的新手。我做了一个 Hello World 应用程序。关注了一个人的博客应用程序。遵循 Phoenix 框架的初始步骤。到目前为止,还不错。

然而,今晚,我有一些新东西。

每次我运行混合测试时,我都会得到以下信息:

hail2skins@elixir:~/workspace/phoenix/test_blog $ mix test
** (ArgumentError) argument error
   :erlang.exit(nil, :normal)
   (ecto) lib/ecto/adapters/postgres.ex:55: Ecto.Adapters.Postgres.stop/2
   (ecto) lib/mix/ecto.ex:75: Mix.Ecto.ensure_stopped/2
   test/test_helper.exs:4: (file)
   (elixir) lib/code.ex:307: Code.require_file/2

现在,我可以在同一服务器上的不同文件夹中的另一个应用程序中运行混合测试。

我为此应用程序安装了 Phoenix 1.03。但我确实在我运行的其他应用程序中看到它是 Phoenix 1.02。在任何情况下,我都会删除该应用程序,构建一个新的简单应用程序,按照说明运行 mix ecto.create,然后我立即尝试 mix test 但它失败了。每次我尝试一个新的应用程序时,它都会失败。这是我的配置问题吗——我正在使用 Cloud 9,正如我所说,其他应用程序上的一切似乎都很好,甚至这个应用程序也能正确加载。

或者这是以前没有人见过的某种新事物?

如果不同文件夹中同一个盒子上的另一个应用程序也失败了,我就不会那么困惑了。但是当我运行混合测试时它工作正常。没有新的应用程序有效。

最佳答案

看起来这是 ecto 版本 1.0.5 中的错误。我将行 {:ecto, "== 1.0.4"} 添加到我的 mix.exs 文件的依赖项中,删除了 deps 和 _build,它解决了问题。我想这会很快得到修复,但在那之前坚持使用 ecto 1.0.4 将解决问题。

关于elixir - Phoenix 框架 : mix test fails with argumenterror on new app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33181775/

相关文章:

elixir - 模式匹配 HTTPoison.Response

elixir - 如何在 Phoenix Framework 中创建全局 View ?

image - Phoenix 灵药二进制数据图像

phoenix-framework - 如何使用 Ecto/Phoenix 为嵌套资源创建变更集

phoenix-framework - 如何在生产中运行连接到同一数据库和混合环境的 iex session 和 phoenix 服务器?

elixir - 使 Elixir 应用程序在源代码更改时重新编译并重新加载

elixir - 使用 Phoenix 服务 HTTP 范围请求?

elixir - 比较不同格式的 map - Elixir

functional-programming - 在 Elixir 的外部范围内重新绑定(bind)变量

elixir - 如何使用 mix 来运行测试