Hi! >From the Github issue <https://github.com/elixir-lang/elixir/issues/11016> I posted yesterday:
Mix doesn't support a --repeat option, which makes repeating the previously executed tests difficult or inconvenient. I'm missing such an option because: - in an editor it's pretty simple to bind a shortcut to mix test --repeat which aids in TDD - in the CLI it's practical to have mix repeat the tests if all succeeded after a mix test --failed - likewise after a mix test --stale or any other similar command To give various examples: - $ mix test test/some/particular/file_test.exs:12 $ mix test --repeat # Mix would repeat the test in file_test.exs that was at line 12. # It would be great if Mix remembers the actual name of the test and # doesn't blindly use the line number which may have shifted after editing # and cause an entirely different test to be executed. - $ mix test # 5 tests failed. $ mix test --failed # Mix retries the 5 failing tests. 3 out of 5 tests succeed. $ mix test --repeat # Mix would simply repeat the 5 tests, no matter their status. - $ mix test --seed 1234 $ mix test --repeat # Mix would repeat all the tests but also remember to use the given seed. # If --seed is never defined then a different seed is used with each --repeat. - $ mix test apps/my_sub_app/test $ mix test --repeat # Mix would repeat the tests for the given umbrella application. $ mix test --only external $ mix test --repeat # Mix would repeat only the tests tagged by "external". - $ mix test --stale $ mix test --repeat # Mix would repeat all the tests if this was the first run with --stale. - $ mix test --stale # Edit code ... $ mix test --stale # Mix runs only tests affected by the code changes. $ mix test --repeat # Mix would repeat only the tests that had been marked as stale. - $ mix test ... $ mix test --repeat $ mix test --repeat # Running with --repeat multiple times would naturally repeat the same tests again. The basic premise is always: tests X, Y, Z have been run, therefore X, Y, Z will be run again with mix test --repeat.That makes the most sense to me. Maybe there are corner cases, like for example, when you run mix test inside an umbrella app and then you run mix test --repeat outside in the umbrella root. It probably should repeat the tests in that initial umbrella app, but what if the other apps have no previously executed tests? Not a difficult thing to figure out but I'm sure it would happen. Thanks in advance for your time and considering my proposal! -- 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/976daabe-1ad7-4600-a0e0-8e218febfb7dn%40googlegroups.com.