Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/houen/minitest-rerun-failed
Easy rerun of failed tests with minitest.
https://github.com/houen/minitest-rerun-failed
minitest rails ruby testing-tools
Last synced: 24 days ago
JSON representation
Easy rerun of failed tests with minitest.
- Host: GitHub
- URL: https://github.com/houen/minitest-rerun-failed
- Owner: houen
- License: mit
- Created: 2021-09-10T10:21:49.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-25T16:35:14.000Z (10 months ago)
- Last Synced: 2024-04-25T17:38:40.732Z (10 months ago)
- Topics: minitest, rails, ruby, testing-tools
- Language: Ruby
- Homepage:
- Size: 49.8 KB
- Stars: 4
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# minitest-rerun-failed
[![Gem Version](https://badge.fury.io/rb/minitest-rerun-failed.svg)](https://badge.fury.io/rb/minitest-rerun-failed)
![master branch CI](https://github.com/houen/minitest-rerun-failed/actions/workflows/main.yml/badge.svg?branch=master)
[![Gem Version](https://badge.fury.io/rb/minitest-rerun-failed.svg)](https://badge.fury.io/rb/minitest-rerun-failed)Easy rerun of failed tests with minitest. Prints a list of failed tests and seed at the end of the test run to console and file. Re-run the failed tests with `bin/rerun_failed_tests`.
![Example screenshot](assets/screenshot.png)
## Features
- Outputs all failed tests in short summary at end of test run.
- To console and / or to file
- Optionally includes line numbers
- Lists seed for re-running with same seed.
- Executable for re-running only failed tests## Installation
```
bundle add "minitest-rerun-failed" --group test# installs executable bin/rerun_failed_tests
bundle binstubs minitest-rerun-failed
```## Usage
Use it like any Minitest::Reporters like such:
```ruby
Minitest::Reporters.use! [
Minitest::Reporters::ProgressReporter.new, # This is just my preferred reporter. Use the one(s) you like.
Minitest::Reporters::FailedTestsReporter.new
]
```Now failed tests and seed will be printed at the end of the test report.
If you have installed the binstub, you can rerun the failed tests with
```
bin/rerun_failed_tests
```If you have not installed the binstub, you can rerun the failed tests with something like:
```
# Ruby:
ruby $(cat .minitest_failed_tests.txt)# Rails:
bundle exec rails test $(cat .minitest_failed_tests.txt)
```### Options
- include_line_numbers: Include line numbers in outputs. Defaults to true
- verbose: Output to stdout. Defaults to true
- file_output: Output to file. Defaults to true
- output_path: Path to place output files in. Defaults to '.'
- Note: If you use the output_path option, you need to have `ENV["MINITEST_FAILED_TESTS_REPORT_DIR"]` set to use the executable## Other
### Why line numbers instead of test names? What if the lines change as I am fixing things?
Line numbers were much easier to implement.
If you find a good way to output test names instead, please open a PR with tests to add it as an option.As for if line numbers change, the most likely outcome is that the whole file will simply be run instead of a single test.
You can also use the option `include_line_numbers: false` to always output whole files for greater safety.## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/houen/minitest_rerun_failed.
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
https://stackoverflow.com/questions/19910533/minitest-rerun-only-failed-tests