If someone would like to tackle this, please go ahead. I assume it will require a reasonable amount of work.
*José Valimhttps://dashbit.co/ <https://dashbit.co/>* On Tue, Sep 16, 2025 at 14:35 Jon Rowe <[email protected]> wrote: > +1 here, more context is often useful but the diff support is crucial. > > Cheers > Jon > > On Mon, 15 Sep 2025, at 7:49 PM, Jason Axelson wrote: > > Big +1 from me as well. I often skip using `assert/2` because of the need > to re-implement the rich diffing logic that `assert/1` gives. Generally I > only truly want to provide additional context that will help the developer > understand what failed rather than wanting my own "diffing" output. > > -Jason > > On Mon, Sep 15, 2025 at 8:31 AM Ben Wilson <[email protected]> wrote: > > +1 to this from me. We have a variety of asserts inside of a list that > always have commented out dbg statements above them to help with failures. > Passing those into assert would be great. > On Monday, September 15, 2025 at 1:17:49 PM UTC-4 [email protected] wrote: > > So, we have the assert/1 macro in ExUnit, which does a really nice job of > pointing out actual failures - a diff, etc, depending on what you give it. > We also have assert/2, a function where you can insert your own message. I > propose that we have perhaps another option: a variant of assert(assertion, > contextual_data: %{foo: "bar"}). Basically, I love that diffing we do in > assert/1, and just want to append some relevant data to the message, which > is particularly helpful if I'm running an assertion in a loop (think poor > man's property-based testing) with different data -- the line number isn't > going to allow me enough data to figure out what exactly just failed. > I understand it wouldn't be trivial to do, pretty much because there's > already an assert/2 with opts and with message, and they're functions not > macros... > > Sorry if I'm missing anything about proposals - this is my first one! > I'm willing to maybe put some time into a PR here, if the feedback is > positive and has a bit of guidance (Elixir is my day-job, so I do have some > experience) > > Thanks, > Derek > > > -- > 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 [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/elixir-lang-core/afe45a12-091d-4980-b64d-e5974926e7cdn%40googlegroups.com > <https://groups.google.com/d/msgid/elixir-lang-core/afe45a12-091d-4980-b64d-e5974926e7cdn%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 [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/elixir-lang-core/CAHMz6kzuE%2BEZK5Bhb6Q0SMKO6T8S1XsAeYkeK0NjhFv4ZjBT_w%40mail.gmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/CAHMz6kzuE%2BEZK5Bhb6Q0SMKO6T8S1XsAeYkeK0NjhFv4ZjBT_w%40mail.gmail.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 [email protected]. > To view this discussion visit > https://groups.google.com/d/msgid/elixir-lang-core/5b0c7550-d2a0-41b8-9a07-e9b063d2dd00%40app.fastmail.com > <https://groups.google.com/d/msgid/elixir-lang-core/5b0c7550-d2a0-41b8-9a07-e9b063d2dd00%40app.fastmail.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 [email protected]. To view this discussion visit https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4KjA%2Bzd0ZqUMo1KPOr%3DASao30_NT6we7JZoX%3DXPk2itvQ%40mail.gmail.com.
