Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 运行混合测试时打开:dev env正常吗?_Elixir_Elixir Mix - Fatal编程技术网

Elixir 运行混合测试时打开:dev env正常吗?

Elixir 运行混合测试时打开:dev env正常吗?,elixir,elixir-mix,Elixir,Elixir Mix,我遇到一个问题,我的测试/支持过去没有得到编译: # Specifies which paths to compile per environment. defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] 我决定在运行混合测试时检查环境,令我惊讶的是它的:dev pry(1)> Mix.env() :dev 我是否缺少一些额外的配置 混合文

我遇到一个问题,我的
测试/支持
过去没有得到编译:

  # Specifies which paths to compile per environment.
  defp elixirc_paths(:test), do: ["lib", "test/support"]
  defp elixirc_paths(_),     do: ["lib"]
我决定在运行
混合测试时检查环境,令我惊讶的是它的
:dev

pry(1)> Mix.env()
:dev
我是否缺少一些额外的配置

混合文件:

defmodule ProjectWeb.MixProject do
  use Mix.Project

  def project do
    [
      app: :project,
      version: "0.1.0",
      build_path: "../../_build",
      config_path: "../../config/config.exs",
      deps_path: "../../deps",
      lockfile: "../../mix.lock",
      elixirc_paths: elixirc_paths(Mix.env),
      elixir: "~> 1.6",
      start_permanent: Mix.env() == :prod,
      deps: deps()
    ]
  end

  # Run "mix help compile.app" to learn about applications.
  def application do
    [
      extra_applications: [:logger],
      mod: {ProjectWeb.Application, []}
    ]
  end

  # Specifies which paths to compile per environment.
  defp elixirc_paths(:dev), do: ["lib", "test/support"]
  defp elixirc_paths(_),     do: ["lib"]

  # Run "mix help deps" to learn about dependencies.
  defp deps do
    [
      {:phoenix, "~> 1.3.3"},
      {:pre_plug, "~> 1.0"},
      {:cowboy, "~> 1.0"},
      {:phoenix_live_reload, "~> 1.1", only: :dev}
    ]
  end

end

当您没有共享现有配置时,很难判断您是否缺少其他配置<代码>混合测试
应该在默认配置中将环境设置为
:test
。这是我当前的混合文件,请注意,我修改了defp elixirc_路径(:dev),do:[“lib”,“test/support”]以使其工作。我还有一个配置/test.exs文件,其中包含just use mix。Configwell我发现了这个问题,如果您已经设置了env变量MIX_env=dev,那么即使使用MIX test,它仍然是:dev当然会;这是一种预期行为,允许您更好地控制环境,而不是
mix
本身。