Skip to content

Releases: zachallaun/mneme

Mneme v0.10.1

17 Dec 17:31
Compare
Choose a tag to compare

Mneme v0.10.1 is now available

Fixes

  • Fixed a crash that occurred when generating patterns for improper lists (#105).

Mneme v0.10.0

07 Nov 14:11
Compare
Choose a tag to compare

Mneme v0.10.0 is now available

This release adds mix mneme.test, a basic wrapper around mix test that allows Mneme's configuration options to be passed at the command line in addition to all the options normally accepted when running tests. Additionally, mix mneme.watch now wraps mneme.test and therefore takes the same options.

I recommend you add :"mneme.test" to your :preferred_cli_env in mix.exs:

def project do
  [
    ...
    preferred_cli_env: [
      "mneme.test": :test,
      "mneme.watch": :test
    ],
    ...
  ]
end

You can also simply run MIX_ENV=test mix mneme.install to update your setup.

Mneme v0.9.3

21 Oct 14:48
Compare
Choose a tag to compare

Mneme v0.9.3 is now available.

Fixed

  • Don't simplify structs used as keys in maps (#96).
  • [mix mneme.watch] Ensure the :ex_unit application is started before accessing its application config (#95).

Mneme v0.9.2

14 Oct 18:01
Compare
Choose a tag to compare

Mneme v0.9.2 is now available.

Added

  • Added --exit-on-success flag to mix mneme.watch, which reruns tests until all of them pass, then exits.

Fixed

  • Prevent an increasing number of "Running ExUnit with seed..." messages from printing during runs of mix mneme.watch. This was a regression introduced in v0.9.1.

Mneme v0.9.1

14 Oct 13:59
Compare
Choose a tag to compare

Mneme v0.9.1 is now available.

This release fixes a bug that caused Mneme to silently overwrite custom ExUnit formatters. This no longer occurs.

Mneme v0.9.0

14 Oct 13:57
Compare
Choose a tag to compare

Mneme v0.9.0 is now available.

This release introduces a new, automatic test runner and watcher, mix mneme.watch. It can be used instead of or in addition to mix test. When run, it will watch both source and test files, automatically re-running tests on change. It knows how to interrupt Mneme prompts, so you can use it to very quickly iterate on something, immediately seeing the new patterns as you save files.

Mneme v0.8.2

11 Jul 15:30
Compare
Choose a tag to compare

Mneme v0.8.2 is now available.

This release includes a couple of bug fixes and one small CLI feature.

  • There were some regressions in the last few releases relating to map patterns that could cause many duplicate patterns to be suggested and, in some cases, incorrect patterns that wouldn't match your actual value. I believe these are now fixed, but please let me know if you run into any weird suggestions!

  • Two new key bindings have been added to the CLI: J and K to jump to the first or last pattern. This can be helpful especially when you have a large, nested data structure, as these can cause Mneme to generate quite a few patterns at various levels of complexity.

Mneme v0.8.0

20 Jun 17:42
Compare
Choose a tag to compare

v0.8.0 is now available

Thanks to @am-kantox, issue #1 has been closed: variables bound in auto_assert patterns are now accessible outside of the expression! This was the main limitation of Mneme vs. plain ExUnit assertions, so I'm very thankful that it's been resolved.

Prior to this release, you had to use the return value of auto_assert to access anything you were testing. Now, you can bind the result or portions of it inside the assertion pattern:

# previously...
result = auto_assert %{x: 1} <- some_function()

# now...
auto_assert %{x: 1} = result <- some_function()
#                     ^^^^^^
#                     this would previously be a warning or error

auto_assert %{x: x} <- some_function()
#                ^
#                destructuring works as expected