BETAmodules.com is in beta — open to partnerships & joint ventures.Build with us

minitest-distributed

v0.2.12RubyGems· Ruby

minitest-distributed is a plugin for minitest for executing tests on a distributed set of unreliable workers. When a test suite grows large enough, it inevitable gets too slow to run on a single machine to give timely feedback to developers. This plugins combats this issue by distributing the full test suite to a set of workers. Every worker is a consuming from a single queue, so the tests get evenly distributed and all workers will finish around the same time. Redis is used as coordinator, but when using this plugin without having access to Redis, it will use an in-memory coordinator. Using multiple (virtual) machines for a test run is an (additional) source of flakiness. To combat flakiness, minitest-distributed implements resiliency patterns, like re-running a test on a different worker on failure, and a circuit breaker for misbehaving workers.

The verdict
Maintained. Niche but maintained, actively maintained.
Live from the RubyGems registry · derived rules, not AI
How it scores
MaintenanceHealthy
PopularityNiche
SecurityClean
LicensePermissive
DepsZero deps
Maintenance
Last published 4 months ago.
Popularity
562 downloads / week
Security
No known advisories for this version (OSV).
License
MIT
Dependencies
No runtime dependencies
Recent releases
  • 0.2.124 months ago
  • 0.2.11over a year ago
  • 0.2.102 years ago
  • 0.2.93 years ago
  • 0.2.83 years ago
  • 0.2.73 years ago
  • 0.2.63 years ago
  • 0.2.54 years ago
minitest-distributed — minitest-distributed is a plugin for minitest for executing tests on a distributed set of unreliable workers. When a test suite grows large enough, it inevitable gets too slow to run on a single machine to give timely feedback to developers. This plugins combats this issue by distributing the full test suite to a set of workers. Every worker is a consuming from a single queue, so the tests get evenly distributed and all workers will finish around the same time. Redis is used as coordinator, but when using this plugin without having access to Redis, it will use an in-memory coordinator. Using multiple (virtual) machines for a test run is an (additional) source of flakiness. To combat flakiness, minitest-distributed implements resiliency patterns, like re-running a test on a different worker on failure, and a circuit breaker for misbehaving workers. (Ruby / RubyGems) · Modules