问题标签 [elixir-mix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1105 浏览

unit-testing - ExUnit - 运行存储在自定义目录中的所有测试(不是测试/)

我想在我的 Elixir 项目中有两组单独的单元测试,我可以使用不同的 ExUnit 配置单独运行它们。我正在研究 ExUnit 格式化程序,我正在尝试为它编写单元测试。为了测试它,我想我会创建另一个目录 ( example_tests),其中包含一个test_helper.exs类似于 in 的文件test/,但将 ExUnit 配置为使用我的自定义格式化程序。我将我的格式化程序添加为 ExUnit 格式化程序,然后创建了一个测试模块example_tests。现在的问题是我不知道如何配置 ExUnit 以example_tests/使用example_tests/test_helper.exs.

我发现有一个test_paths配置参数可以在mix.exs文件中设置。问题是值是在每个项目的基础上设置的,我需要它有两个不同的值(通常只是["test"]为了使用 formatter 进行测试运行["example_tests"])。我假设我可以在每个任务的基础上覆盖配置值,所以我也创建了一个 example_tests 任务,但我不知道如何更改配置。

有没有办法Mix.Project.config在每个任务的基础上自定义项目配置()?或者,有没有更好的方法来创建具有不同 ExUnit 配置的两组单独的测试?

更新:

这是testMix 任务的源代码链接:https ://github.com/elixir-lang/elixir/blob/master/lib/mix/lib/mix/tasks/test.ex

0 投票
1 回答
419 浏览

rake - Elixir Mix 任务中的 Rake 依赖功能?

在 Rake 中,可以指定任务之间的依赖关系。然后引擎构建一个依赖关系树并按照依赖关系的顺序执行这些任务,并且每个任务只执行一次。

在 elixir/mix 中是否有类似的机制?

0 投票
1 回答
798 浏览

elixir - 如何在 Elixir 项目中使用 rebar 构建 erlang 依赖项并立即制作

我为 elixir 编写了一个 erlport 包装器,但是在将 erlport 编译为依赖项时遇到了问题。你可以在这里找到它:https ://github.com/fazibear/export

导出 mix.exs 文件:

还有另一个使用这个包的项目。当我像这样向这个项目添加一个包时:

并调用mix compile它运行得很好。Erlport 使用 rebar 和 make 正确编译。

当我尝试从十六进制添加项目时,问题就开始了。

Elport 不会编译。正如您在最新提交中看到的那样,我在导出混合文件中尝试了一些managercompile参数的组合,但没有任何效果。

如何编译这个 lib 依赖项?

谢谢。

0 投票
1 回答
984 浏览

elixir - 如何在发行版(elixir/exrm)上运行“混合”命令?

使用 Elixir/mix 构建的应用程序。

我们有一堆实用功能(即:seed/clear Mnesia db),我们以elixir mix foo.

一旦构建了一个版本(使用 mix + exrm)并部署在目标机器上(我们不希望有完整的构建链或完整的源代码),是否有一种实用的方法来访问这些命令?

0 投票
0 回答
1302 浏览

testing - IEx - 运行混合“测试”任务

我有点厌倦了在 Tmux 窗格之间切换,所以我尝试使用vimiex不是在另一个控制台中输入混合命令。

考虑到这个目标,我在iex控制台中输入以下内容,但我的测试似乎没有执行:

控制台输出为:

谁能给我一个关于如何使这项工作的指针?

0 投票
3 回答
34186 浏览

elixir - 如何重新编译 Elixir 项目并从 iex 中重新加载它?

我目前正在通过 elixir-lang 网站上的 OTP 和混合教程来学习 Elixir,但我在找出如何从 shell 中重新编译和重新加载项目时遇到了麻烦。

在 Erlang 我会这样做make:all([load]),它会编译并加载发生的任何更改。然而,iex总是说:up_to_date,这确实是有道理的,因为 Elixir 使用 mix 来满足它的编译需求。

我在 iex 中找不到任何等价物。

0 投票
1 回答
800 浏览

elixir - mix.exs 依赖声明中的正确版本

我有一个mix.exs文件有一些依赖:

假设我想将 Nadia 更改为 version 0.3。我很难做到这一点。

更改为 后mix.exs,我无法获得 Nadia 的 0.3 版。既不mix deps.update也不mix deps.unlock && mix deps.update帮我。

我确信有办法做到这一点;我只是找不到它。

提前致谢!

0 投票
2 回答
957 浏览

configuration - 依赖项中的 Ecto 配置

我有两个mix项目 P1 和 P2。

P1 依赖于 ecto 并提供了一个 genserver 接口。它也被添加为 P2 中的依赖项,仅用于访问某些客户端功能。所以 P2 不会尝试启动 P1。它是独立启动的。

问题是 P2 无法编译。mix compile表示P1.Repo缺少适配器配置。

我不想在 P2 中包含 P1 的任何 repo 配置。在这些情况下,有什么方法可以使用 P2 内部的 P1 模块提供的功能?

0 投票
3 回答
1014 浏览

elixir - 我的 mix 项目在用作依赖项时没有加载 config/* 宏

几天前,我看到了 José Valim Mocks 的一篇文章 和明确的合同,并决定将这些模式实施到我自己的项目wikix中。

这些是我的 config/*.exs文件。如您所见(在 test.exs 和 prod.exs 中),我定义了几个环境变量“http_client”和“user_agent”。这样,当我测试模块时,我使用模拟,当模块投入生产时,我使用真正的 http 客户端。

问题是:当我尝试在我的 phoenix 应用程序中使用 wikix 作为依赖项时,由于某种原因,mix 忽略了我的 wikix/config/prod.exs 文件,因此从未定义过 http 客户端(在 wikix 中)。

在我的凤凰应用程序中,我得到了 nil.HTTPClient,而不是 Wikix.HTTPClient。

这是我的 phoenix/mix.exs 文件

0 投票
0 回答
428 浏览

elixir - 添加“timex”依赖项后无法编译依赖项:idna。

添加“timex”依赖项后,我遇到的这个问题是错误===> Command bare not found ** (Mix) Could not compile dependency :idna, "/usr/bin/rebar3 bare compile --paths "phoenix/ _build/dev/lib/*/ebin"" 命令失败。你可以用“mix deps.compile idna”重新编译这个依赖,用“mix deps.update idna”更新它或者用“mix deps.clean idna”清理它