Live data from Hacker News

Show HN: I built a tool to get instant test results

github.com

1–10 of 68 posts

Show HN: I built a tool to get instant test results

#1
I got sick of the old software development loop: Change code -> Run tests -> wait -> wait some more -> look at failures.

I decided to build a tool that will enable you to: Change code -> look at failures.

No wait time, no explicit test running.

Under the hood:

  - Runs the whole test suite and collects code coverage per test.

  - For each auto file save, analyzes the changes on the tests.

  - Runs changed tests in the background.

  - Display results, the loop time from change to test results is approx 250ms.
Instead of: code -> alt+tab -> arrow up -> rerun all the tests -> wait ... -> test results

code -> alt+tab -> test results!

Check it out! https://github.com/nabaz-io/nabaz>

Show HN: I built a tool to get instant test results
github.com

Re: Show HN: I built a tool to get instant test results

#9
post #6

I'm a bit confused how this differs from the existing watch modes that are built into test runners I'm familiar with, such as Jest. Is this something that I'm used to in TypeScript, but which just doesn't exist in most language's ecosystems?

Well, I would say the biggest difference is while the watch mode you described runs all the tests for every change.

hypertest only runs the tests the were impacted by the changed code. Resulting is blazing fast performance.

I’d say it’s even fast than apples alt+tab animation most of the time.

Re: Show HN: I built a tool to get instant test results

#10
I like the concept and it seems that "run them all and see what changed" is a great model to avoid missing any side effects from a code change. However, if you're running all the tests on every change, doesn't that mean the responsiveness is necessarily greater than 250ms if your test suite is longer than 250ms?

Regardless, running tests in the background to eliminate human delay is good. It would be nice if the (~test time)*(test change likelihood) of the tests were used to order tests based on fastest relevant feedback.

A code->test change likelihood map may also be used to reveal previously unexpected dependencies. Also ~test time could be difficult (see halting problem and windows time remaining estimates).

This is good work.

Post reply on HN