3.8.1
Node.js 14 support
Great news, this is a feature heavy release!
First off, though, AVA now officially supports Node.js 14. Thank you @zackschuster! 2e7c76b
Run tests at specific line numbers
AVA can now run tests at specific line numbers! 🎉
Given the following test file:
test.js
1: test('unicorn', t => {
2: t.pass();
3: });
4:
5: test('rainbow', t => {
6: t.fail();
7: });
Running npx ava test.js:2
for would run the unicorn
test. In fact you could use any line number between 1
and 3
.
This feature is only available from the command line. It won't work if you use tools like ts-node/register
or @babel/register
, and it does not currently work with @ava/babel
and @ava/typescript
. See #2473.
Thank you @ulken for your hard work and patience to get this shipped. 1222ce9
Test-specific teardown functions
Sometimes tests have side-effects you want to clean up. @ulken has implemented t.teardown()
which lets you register teardown functions within your test. They'll run once your test has finished, even if it failed: 75cbc3b
test('read file', t => {
fs.writeFileSync('file.txt', '👋');
t.teardown(() => fs.unlinkSync('file.txt');
// Run assertions
});
Node.js internal in stack traces
Thanks to @bunysae, stack traces now include Node.js internals. Previously we removed them because we wanted you to focus on your own code, but quite often they do provide context. Now they're displayed, but somewhat dimmed. 9a9351d
Watch mode with the default reporter
Watch mode with the default reporter once again accepts key input. Thanks @pcdevil! 59c227d
ICYMI
-
afterEach()
andafterEach.always()
hooks can now determine whether the test passed. Thank you @bunysae for contributing this! 8f312c0test('passes', t => t.pass()); test.afterEach(t => { if (t.passed) { // Do something because the test passed } else { // Do something because the test failed } });
-
If you've ever wanted to save some files along with AVA's snapshots, you can now determine the directory path by accessing
test.meta.snapshotDirectory
. Thank you @ulken! cb5f9f7
All changes
See v3.7.1...v3.8.1 for all changes.