Kronos-Integration / test-step

kronos-step testing support with ava
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Update ava to the latest version 🚀 #593

Closed greenkeeper[bot] closed 4 years ago

greenkeeper[bot] commented 4 years ago

The dependency ava was updated from 2.4.0 to 3.4.0.

This version is not covered by your current version range.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.


Publisher: novemberborn License: MIT

Release Notes for 3.4.0

Introducing the t.try() assertion

The new t.try() allows you to try assertions without causing the test to fail:

test('do the thing', async t => {
  const attempt = () => t.try(tt => {
    const result = await getResult()
    // getResult() can be flaky and sometimes throws :(
    tt.is(result, 'expected')
  })

  const firstAttempt = await attempt()
  if (firstAttempt.passed) return firstAttempt.commit()

  t.log('Retrying (just once)')
  firstAttempt.discard()
  const secondAttempt = await attempt()
  secondAttempt.commit()
})

You can use any test implementation with t.try(), including (arrays of) macros. You can decide what to do with attempts. You can even run attempts concurrently, so long as they don't use snapshot assertions.

This is great building block for handling all kinds of advanced test scenarios. We can't wait to see what you'll do with it! Find out more in the assertion documentation.

This feature was previously behind an experimental flag. That flag has now been removed. If you have enabled the flag you'll have to update your AVA config. Also note that as of this release, attempt titles are always prefixed with the title of the parent test 7ee3a0e.

Once again, thank you @qlonik for contributing this new assertion.

Other changes

  • The t.throws() and t.throwsAsync() assertions can now be called with undefined as the second argument. Previously, if you wanted to set an assertion message but did not want to provide any expectations for the thrown error you had to pass null. That's still allowed, of course. d0e2161 @stavalfi
  • ava.config.js files once again work with our @ava/typescript package f4d4edd
  • Our TypeScript definition no longer references @types/node 7a1dacf
  • We've improved the error message shown when test.cb() is used with asynchronous functions or observables f5a8c2b @toddkcarlson
  • The Vue recipe has been updated to use jsdom-global instead of browser-env 3f9c616 @Scrum
  • @fisker optimized how we detect ESM support 8831f54

See v3.3.0...v3.4.0 for all changes.

Commits

The new version differs by 109 commits.

  • 8630636 3.4.0
  • 12ba7bc Ship t.try() without requiring opt-in
  • f4d4edd Evaluate ava.config.js scripts in current context
  • 8831f54 Improve detection of ESM support
  • d0e2161 Support undefined as second argument to t.throws and t.throwsAsync
  • 324e45f Document t.try() (#2251)
  • da52e5f Bump dependencies
  • 55a3649 Ensure t.try() assigns unique titles when multiple implementations are passed
  • 7ee3a0e Prefix attempt titles with that of parent test
  • a69e4f2 Bump dependencies
  • 7a1dacf Remove @types/node reference
  • 3f9c616 Update Vue recipe to use JSDom rather than browser-env
  • f5a8c2b Improve error message when test.cb() is used with promises
  • c166e05 3.3.0
  • 362b6f9 Upgrade @ava/babel

There are 109 commits in total.

See the full diff


FAQ and help There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).

Your Greenkeeper bot :palm_tree: