3 ms·
One of the things that I love about Bazel is it thinks of a binary that obeys a contract as a test. This means you can have things like `sh_test` which just run
by gravypod 5y ago
One of the things that I love about Bazel is it thinks of a binary that obeys a contract as a test. This means you can have things like `sh_test` which just runs a shell script in a sandbox and gives you all of the benefits Bazel has normally for test execution. You get automated caching, parallelization, and remote execution of tests for free.
A great talk about this: https://www.youtube.com/watch?v=muvU1DYrY0w https://www.youtube.com/watch?v=muvU1DYrY0w
You can often get situations where integration tests (that cover large features) take less than 30 seconds, only ever execute your tests when it is possible for the outcome to change (a dep has changed), and you can run your tests on a fleet of machines rather than one laptop or CI runner.
- lupire 5y ago> it thinks of a binary that obeys a contract as a test. who doesn't?