Hacker News new | ask | show | jobs
by twic 1309 days ago
This sounds a lot like a couple of old JUnit test runners:

InfiniTest - https://infinitest.github.io/ an dhttps://infinitest.github.io/doc/intellij#how-it-works

JUnit Max - https://web.archive.org/web/20090206151635/http://www.threer... partially surviving as https://junit.org/junit4/javadoc/4.12/org/junit/experimental...

Ruby has something similar:

autotest - https://github.com/grosser/autotest

I think it's a good idea, and i'm surprised it hasn't become a standard feature of IDEs and test runners.

2 comments

Jest, probably the most popular JS test runner of today, also has had it since forever.
My Jest can run on only changed files, but it still takes forever. Much longer than 250ms
Right.. Because out of a 100 tests it will run close to that number. when you change code most of the time only a handful of tests or less need to run.
Had what since forever? Does jest analyze the changes you make and compare them to code coverage? (hint: no)

The key innovation piece here is the speed that the extreme selectively enables you.

Ruby also has crystalball (https://toptal.github.io/crystalball/) which is similar, but not quite the same.
Main difference is that crystalball still runs all the tests, but runs the recently failed ones first.

Nabaz selects a small subset of affected tests, reducing CPU usage, and more importantly improving speed drastically!