diff --git a/lib/formatter.ex b/lib/formatter.ex index 7483d8d..cfe13a5 100644 --- a/lib/formatter.ex +++ b/lib/formatter.ex @@ -249,6 +249,15 @@ defmodule JUnitFormatter do [{:failure, [message: message(failures)], [body]}] end + defp generate_test_body(%ExUnit.Test{state: {:invalid, %ExUnit.TestModule{state: {:failed, failures}}}} = test, idx) do + body = + test + |> ExUnit.Formatter.format_test_failure(failures, idx, :infinity, fn _, msg -> msg end) + |> :erlang.binary_to_list() + + [{:failure, [message: message(failures)], [body]}] + end + defp generate_test_body(%ExUnit.Test{state: {:invalid, %name{} = module}}, _idx), do: [{:error, [message: "Invalid module #{name}"], [~c"#{inspect(module)}"]}]