Skip to content

3.8.1

Compare
Choose a tag to compare
@novemberborn novemberborn released this 26 Apr 15:23
7df4397

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() and afterEach.always() hooks can now determine whether the test passed. Thank you @bunysae for contributing this! 8f312c0

     test('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.