【问题标题】:Elixir: Access test helpers from dependencyElixir:从依赖项中访问测试助手
【发布时间】:2018-07-30 17:25:21
【问题描述】:

在 Java 世界中,特定库的工件通常有两种形式,一种带有测试助手,一种没有测试助手。 Elixir 世界中是否存在等价物?

具体来说,我希望能够在应用程序A 中公开模拟或数据生成器。应用程序B 现在依赖于A,并获得了在自己的测试中使用来自A 的公开助手的能力。现在,我不希望这些助手出现在生产中的任何地方,因此只有在特别要求时才应包含它们(例如,MIX_ENV=test)。

编辑:本质上,问题归结为:“如何使来自A 的测试可用于B 的测试?”

【问题讨论】:

  • 我真的不明白你在这里问什么——你能改一下你的问题吗?

标签: testing elixir


【解决方案1】:

前段时间,我找到了一个可行的解决方案:我专门为:test 环境扩展了elixirc_paths,并将共享助手放入应用程序的另一个目录中(例如test/support)。在mix.exs:

def project do
  [
  # ...
  elixirc_paths: elixirc_paths(Mix.env),
  ]
end

defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]

然后,依赖的应用程序在测试环境中编译应用程序时可以使用test/support中的模块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-04
    • 2019-04-30
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 2016-02-06
    • 2014-10-20
    • 1970-01-01
    相关资源
    最近更新 更多