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
本身。