If we are going down this path, then my suggestion would be to add this to
all of Elixir itself, starting with function clause errors. :) If someone
wants to explore this path, please go ahead!

On Sun, May 28, 2023 at 5:13 PM Ben Wilson <benwilson...@gmail.com> wrote:

> Agreed. Can the formatter get invoked on output like that I wonder?
>
> On Friday, May 26, 2023 at 3:32:02 AM UTC-4 ifu...@gmail.com wrote:
>
>> Consider the following code:
>>
>> setup do
>> %{a: 1}
>> end
>>
>> test "test", %{b: b} do
>> IO.inspect(b)
>> end
>>
>> if we run the test, then it fails with the following error:
>>   1) test test (SandboxTest)
>>      test/sandbox_test.exs:8
>>      ** (FunctionClauseError) no function clause matching in
>> SandboxTest."test test"/1
>>
>>      The following arguments were given to SandboxTest."test test"/1:
>>
>>          # 1
>>          %{a: 1, async: false, case: SandboxTest, describe: nil,
>> describe_line: nil, file:
>> "/home/artur/projects/sandbox/test/sandbox_test.exs", line: 8, module:
>> SandboxTest, registered: %{}, test: :"test test", test_type: :test}
>>
>>      code: test "test", %{b: b} do
>>      stacktrace:
>>        test/sandbox_test.exs:8: (test)
>>
>>
>> A way better error reporting is present if the test uses assert macro:
>>
>> setup do
>> %{a: 1}
>> end
>>
>> test "test", context do
>> assert %{b: b} = context
>> IO.inspect(b)
>> end
>>
>> Error:
>>   1) test test (SandboxTest)
>>      test/sandbox_test.exs:9
>>      match (=) failed
>>      code:  assert %{b: b} = context
>>      left:  %{b: b}
>>      right: %{
>>               a: 1,
>>               async: false,
>>               case: SandboxTest,
>>               describe: nil,
>>               describe_line: nil,
>>               file: "/home/artur/projects/sandbox/test/sandbox_test.exs",
>>               line: 9,
>>               module: SandboxTest,
>>               registered: %{},
>>               test: :"test test",
>>               test_type: :test
>>             }
>>      stacktrace:
>>        test/sandbox_test.exs:10: (test)
>>
>> It would be great if something similar is reported for the first code
>> snippet.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elixir-lang-core+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-core/513c8678-e03c-40da-9163-9cfd7e9c943bn%40googlegroups.com
> <https://groups.google.com/d/msgid/elixir-lang-core/513c8678-e03c-40da-9163-9cfd7e9c943bn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4JngTGPvZtZWwjYfV1KeLGWaqVYBVjk1UUbym7-e%3DGaWw%40mail.gmail.com.

Reply via email to