/app # mix test.coverage
** (exit) an exception was raised:
** (MatchError) no match of right hand side value: :error
(tools 3.5.3) cover.erl:1782: :cover.do_compile_beam2/6
(tools 3.5.3) cover.erl:1672: :cover.do_compile_beam/3
(stdlib 4.1) lists.erl:1320: :lists.map_1/2
(stdlib 4.1) lists.erl:1315: :lists.map/2
(tools 3.5.3) cover.erl:3150: anonymous fn/2 in :cover.pmap_spawn/4
(tools 3.5.3) cover.erl:777: :cover.call/1
(mix 1.14.2) lib/mix/tasks/test.coverage.ex:216: anonymous fn/2 in Mix.Tasks.Test.Coverage.cover_compile/1
(elixir 1.14.2) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
(mix 1.14.2) lib/mix/tasks/test.coverage.ex:215: Mix.Tasks.Test.Coverage.cover_compile/1
(mix 1.14.2) lib/mix/tasks/test.coverage.ex:148: Mix.Tasks.Test.Coverage.run/1
(mix 1.14.2) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4
(mix 1.14.2) lib/mix/cli.ex:84: Mix.CLI.run_task/2
We can start with you showing us your coverage config in mix.exs
?
I am just starting out with elixir and phoenix FYI. AFAIK I do not have any test coverage configuration in mix.exs. I did not believe I need any???
defmodule Sct.MixProject do
@moduledoc false
use Mix.Project
def project do
[
app: :sct,
version: "0.2.0",
elixir: "~> 1.14",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
dialyzer: [
plt_file: {:no_warn, "priv/plts/dialyzer.plt"}
]
]
end
Ah, you’re using the one that’s built in. Not well-versed in that, apologies.
I and others usually use excoveralls
.
Sorry - I was under the impression that excoveralls did the reporting - not the analysis that generated the coverage.
Now you confused me more.
Are you using ex_coveralls
or not?
If you do, it needs some configuration keys in mix.exs
, detailed in its docs on HexDocs.
I am NOT using ex_coveralls
.
I used mix test.coverage
to generate the error trace above on elixir 1.14.2 and phoenix 1.7-rc0 and erlang 25.1.