Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data driven tests #6102

Merged
merged 32 commits into from
May 4, 2018
Merged

Data driven tests #6102

merged 32 commits into from
May 4, 2018

Conversation

mattphillips
Copy link
Contributor

@mattphillips mattphillips commented May 1, 2018

Summary

Add Data Driven Testing from jest-each as discussed in #6082

Test plan

I've added tests using the new bindings. I've only added one test for the skip and only bindings as otherwise they will result in the runner appearing to ignore multiple tests.

jest-each is also 100% unit tested under the hood too.

New API jest-each equivalent
test.each each.test
xtest.each each.xtest
it.each each.it
describe.each each.describe
fit.each each.fit
xdescribe.each each.xdescribe
fdescribe.each each.fdescribe
xit.each each.xit
test.only.each each.test.only
test.skip.each each.skip.only
it.only.each each.it.only
it.skip.each each.it.skip
describe.only.each each.describe.only
describe.skip.each each.describe.skip

TODO

  • Add docs to website

/cc @SimenB

@codecov-io
Copy link

codecov-io commented May 1, 2018

Codecov Report

Merging #6102 into master will increase coverage by 0.14%.
The diff coverage is 95.23%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #6102      +/-   ##
==========================================
+ Coverage   64.21%   64.36%   +0.14%     
==========================================
  Files         217      218       +1     
  Lines        8333     8393      +60     
  Branches        4        3       -1     
==========================================
+ Hits         5351     5402      +51     
- Misses       2981     2990       +9     
  Partials        1        1
Impacted Files Coverage Δ
packages/jest-jasmine2/src/index.js 16.51% <0%> (+1.41%) ⬆️
packages/jest-jasmine2/src/each.js 85.96% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update da60c78...9983616. Read the comment docs.

@SimenB
Copy link
Member

SimenB commented May 1, 2018

This looks awesome, thanks so much for doing this!

@cpojer thoughts on the dependency over importing the source code?

If we do keep it as a dep, I think we should move it to jest-community.

I've added tests using the new bindings. I've only added one test for the skip and only bindings as otherwise they will result in the runner appearing to ignore multiple tests.

I think we should add some integrations tests, both to assert on the output, but also to see that skip, only and failures looks correct.

[parent][child](title, test);
};

[
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is only a finite set of these. It's more to type out, but can we be less smart and just manually inline this, like:

environment.global.test.each = …
environment.global.xtest.each = …

etc.?

If you look at line 67
https://github.com/facebook/jest/pull/6102/files#diff-e4399d1682ddb42f8a43f1a917d42d87R67

You'll also see that a lot of these are just aliases for each other, so you don't need to assign .each to all of them, just about half of them! :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good shout, I've just updated :)

Copy link
Member

@cpojer cpojer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome. I'm happy for this to be a part of Jest but the code can be optimized a bit. Let's not be smart with string keys and iteration, we can just inline the things we want to do.

@cpojer
Copy link
Member

cpojer commented May 1, 2018

If this is gonna be a core part of Jest, it's got to be inside of this repo, assuming @mattphillips is happy to contribute jest-each to this repo and update it to the standards of this repo.

@@ -14,6 +14,7 @@
"graceful-fs": "^4.1.11",
"is-generator-fn": "^1.0.0",
"jest-diff": "^22.4.0",
"jest-each": "^0.5.0",
Copy link
Member

@SimenB SimenB May 1, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To easier roll this in long-lived jest releases, it would be awesome to release 1.0.0 before merging this 🙂

See Christoph's comment about the module living in this repo

@mattphillips
Copy link
Contributor Author

mattphillips commented May 1, 2018

My bad I misunderstood the comments in the issue I thought the idea was to import jest-each as a dep. I'm happy to merge it into core, I suspect by doing that jest-each's code can be simplified, when I made it I didn't want to pollute Jest's prototype, so jest-each acts as a proxy to existing APIs.

If it is part of core it will be fine to add these additional properties without the need to proxy too 😄.

What is the process for moving jest-each into core?

@SimenB @cpojer

@SimenB
Copy link
Member

SimenB commented May 1, 2018

If you are fine with not supporting jest@<23 moving forward, I'd say move it into jest-jasmine2 and extend as needed by adding the properties directly.
If you want to keep supporting jest<23, then jest-each as is (pretty much, it needs to be typed using flow etc) should be made a separate package in this repo.

My only worry is that it will make jest-circus drift further from jest-jasmine2, but it shouldn't be too much of a bother fixing that later.

EDIT: One advantage of just moving it into jest-jasmine2 without making it a separate package is that you can keep maintaining jest-each as a package for older versions of jest. That might actually be the best solution, come to think of it 🙂

@mattphillips
Copy link
Contributor Author

@SimenB Thats a good point about jest@<23 so maybe it is best to just bring it as is. I think if we encapsulate it in its own module namespace then hopefully jest-circus can just depend on it too and when the time comes it won't be too much work to migrate 🤞

I'm happy adding the flowtypes 😄

How do I add a new package to Jest's packages directory. Is it as simple as mkdir or is there a lerna specific command?

@SimenB
Copy link
Member

SimenB commented May 1, 2018

You can do lerna import, but we don't really need the commit history. Just creating the directory should be fine.

But I added an edit to my comment, thoughts on that?

@mattphillips
Copy link
Contributor Author

One advantage of just moving it into jest-jasmine2 without making it a separate package is that you can keep maintaining jest-each as a package for older versions of jest. That might actually be the best solution, come to think of it 🙂

I'm open to either solution 😄

I think it could lead to a situation where people raise issues in the wrong place potentially? Why is .each not working? in core and then we have to send them over to jest-each. Although that could be a moot point as we'd still just tell them to download jest-each even though its hosted in core 🤷‍♂️

Hmmm actually the biggest issue I see is keeping them in sync, bug fixes would generally apply to both the jest-jasmine2 implementation and jest-each.

I'm now leaning towards bring the existing lib into core 😆

@cpojer
Copy link
Member

cpojer commented May 1, 2018

I think directly embedding into jest-jasmine2 makes sense. We'll deal with circus separately.

@@ -19,7 +19,8 @@
"jest-snapshot": "^22.4.0",
"jest-util": "^22.4.1",
"pretty-format": "^22.4.0",
"source-map-support": "^0.5.0"
"source-map-support": "^0.5.0",
"sprintf-js": "^1.1.1"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice I didn't know about util.format just updated :)


expect(() =>
globalMock.mock.calls[0][1](),
).toThrowErrorMatchingSnapshot();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of doing this, I wonder if it would be better to create actual integration tests (in https://github.com/facebook/jest/tree/master/integration-tests) and assert on the output there?

While this works, it seems sorta weird to invoke something passed to a mock function, and making asserts on how that behaves.

Might just be me, though!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree it would be nice to have an integration test too, I used TDD when building this thats why it seems strange but it allowed me to just write unit tests for the behaviour 😃

I'll add some tests in /integration-tests too (I didn't know about that directory)

@@ -0,0 +1,84 @@
/**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should have the full license header, methinks.

/**
 * Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure about that one, though...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I wasn't sure either - I can add it to be on the safe side

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 30ebfb5

@mattphillips mattphillips force-pushed the data-driven-tests branch 2 times, most recently from 37b53c6 to 0c22067 Compare May 1, 2018 11:07
@@ -0,0 +1,17 @@
/**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you'll also need to execute them (and assert on the output). See e.g. https://github.com/facebook/jest/blob/master/integration-tests/__tests__/failures.test.js

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤦‍♂️ I was wondering how they were ran 🤣

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in 6607413

@mattphillips
Copy link
Contributor Author

@SimenB @cpojer I think this is at a good point now, if you guys could take another look 😄

Only outstanding thing is to write up some docs for the website.

@SimenB
Copy link
Member

SimenB commented May 1, 2018

Seems like one of the new tests are failing CI

CHANGELOG.md Outdated
@@ -2,6 +2,8 @@

### Features

* `[jest-jasmine2]` Add data driven testing with `jest-each`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe tweak this a bit.

Not enough arguments supplied for given headings: left | right
Received: true,true,true

at packages/jest-jasmine2/build/each.js:75:17
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if this message could be better (it should also have a stack pointing back to the user code.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe using pretty-format for the Received: true,true,true part, and explicitly saying "expected length 2, got 3" somehow

Copy link
Contributor Author

@mattphillips mattphillips May 1, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added some suggestions in a second comment, but the error could contain the line that is wrong as well?

✓ passes one row expected true == true
✓ passes one row expected true == true
✓ passes one row expected true == true
○ skipped 4 tests
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is 4 correct? maybe not possible to make better

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah there is 8 tests, 4 with .only so 4 are skipped

Same for the .skip test but just inversed

const rest = extractSummary(result.stderr)
.rest.split('\n')
.filter(line => line.indexOf('packages/expect/build/index.js') === -1)
.join('\n');
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need the split etc? It's a special case of failures

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope removed

const {extractSummary} = require('../Utils');
const dir = path.resolve(__dirname, '../each');

SkipOnWindows.suite();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it would be great if this was not needed. if it is, no biggie

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't see why it wouldn't work on windows so I'll remove it and see what happens :)

const rest = extractSummary(result.stderr)
.rest.split('\n')
.filter(line => line.indexOf('packages/expect/build/index.js') === -1)
.map(line => line.trim())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it'd be great to not trim, so the output in the snapshot matches stdout

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool removed it

@SimenB
Copy link
Member

SimenB commented May 1, 2018

This is really shaping up! I think it mainly just misses docs and perhaps some improvements for the error messages to help the user understand what failed. Tweaks like that can come later though, when people play around with it 🙂

wopian referenced this pull request in wopian/eslint-config-wopian May 25, 2018
This Pull Request updates dependency [jest](https://github.com/facebook/jest) from `~22.4.0` to `~23.0.0`



<details>
<summary>Release Notes</summary>

### [`v23.0.0`](https://github.com/facebook/jest/blob/master/CHANGELOG.md#&#8203;2300)
[Compare Source](jestjs/jest@2745e3e...614f739)
##### Features

* `[expect]` Expose `getObjectSubset`, `iterableEquality`, and `subsetEquality`
  ([#&#8203;6210](`https://github.com/facebook/jest/pull/6210`))
* `[jest-snapshot]` Add snapshot property matchers
  ([#&#8203;6210](`https://github.com/facebook/jest/pull/6210`))
* `[jest-config]` Support jest-preset.js files within Node modules
  ([#&#8203;6185](`https://github.com/facebook/jest/pull/6185`))
* `[jest-cli]` Add `--detectOpenHandles` flag which enables Jest to potentially
  track down handles keeping it open after tests are complete.
  ([#&#8203;6130](`https://github.com/facebook/jest/pull/6130`))
* `[jest-jasmine2]` Add data driven testing based on `jest-each`
  ([#&#8203;6102](`https://github.com/facebook/jest/pull/6102`))
* `[jest-matcher-utils]` Change "suggest to equal" message to be more advisory
  ([#&#8203;6103](`https://github.com/facebook/jest/issues/6103`))
* `[jest-message-util]` Don't ignore messages with `vendor` anymore
  ([#&#8203;6117](`https://github.com/facebook/jest/pull/6117`))
* `[jest-validate]` Get rid of `jest-config` dependency
  ([#&#8203;6067](`https://github.com/facebook/jest/pull/6067`))
* `[jest-validate]` Adds option to inject `deprecationEntries`
  ([#&#8203;6067](`https://github.com/facebook/jest/pull/6067`))
* `[jest-snapshot]` [**BREAKING**] Concatenate name of test, optional snapshot
  name and count ([#&#8203;6015](`https://github.com/facebook/jest/pull/6015`))
* `[jest-runtime]` Allow for transform plugins to skip the definition process
  method if createTransformer method was defined.
  ([#&#8203;5999](`https://github.com/facebook/jest/pull/5999`))
* `[expect]` Add stack trace for async errors
  ([#&#8203;6008](`https://github.com/facebook/jest/pull/6008`))
* `[jest-jasmine2]` Add stack trace for timeouts
  ([#&#8203;6008](`https://github.com/facebook/jest/pull/6008`))
* `[jest-jasmine2]` Add stack trace for thrown non-`Error`s
  ([#&#8203;6008](`https://github.com/facebook/jest/pull/6008`))
* `[jest-runtime]` Prevent modules from marking themselves as their own parent
  ([#&#8203;5235](`https://github.com/facebook/jest/issues/5235`))
* `[jest-mock]` Add support for auto-mocking generator functions
  ([#&#8203;5983](`https://github.com/facebook/jest/pull/5983`))
* `[expect]` Add support for async matchers
   ([#&#8203;5919](`https://github.com/facebook/jest/pull/5919`))
* `[expect]` Suggest toContainEqual
  ([#&#8203;5948](`https://github.com/facebook/jest/pull/5953`))
* `[jest-config]` Export Jest's default options
  ([#&#8203;5948](`https://github.com/facebook/jest/pull/5948`))
* `[jest-editor-support]` Move `coverage` to `ProjectWorkspace.collectCoverage`
  ([#&#8203;5929](`https://github.com/facebook/jest/pull/5929`))
* `[jest-editor-support]` Add `coverage` option to runner
  ([#&#8203;5836](`https://github.com/facebook/jest/pull/5836`))
* `[jest-haste-map]` Support extracting dynamic `import`s
  ([#&#8203;5883](`https://github.com/facebook/jest/pull/5883`))
* `[expect]` Improve output format for mismatchedArgs in mock/spy calls.
  ([#&#8203;5846](`https://github.com/facebook/jest/pull/5846`))
* `[jest-cli]` Add support for using `--coverage` in combination with watch
  mode, `--onlyChanged`, `--findRelatedTests` and more
  ([#&#8203;5601](`https://github.com/facebook/jest/pull/5601`))
* `[jest-jasmine2]` [**BREAKING**] Adds error throwing and descriptive errors to
  `it`/ `test` for invalid arguments. `[jest-circus]` Adds error throwing and
  descriptive errors to `it`/ `test` for invalid arguments
  ([#&#8203;5558](`https://github.com/facebook/jest/pull/5558`))
* `[jest-matcher-utils]` Add `isNot` option to `matcherHint` function
  ([#&#8203;5512](`https://github.com/facebook/jest/pull/5512`))
* `[jest-config]` Add `<rootDir>` to runtime files not found error report
  ([#&#8203;5693](`https://github.com/facebook/jest/pull/5693`))
* `[expect]` Make toThrow matcher pass only if Error object is returned from
  promises ([#&#8203;5670](`https://github.com/facebook/jest/pull/5670`))
* `[expect]` Add isError to utils
  ([#&#8203;5670](`https://github.com/facebook/jest/pull/5670`))
* `[expect]` Add inverse matchers (`expect.not.arrayContaining`, etc.,
  [#&#8203;5517](`https://github.com/facebook/jest/pull/5517`))
* `[expect]` `expect.extend` now also extends asymmetric matchers
  ([#&#8203;5503](`https://github.com/facebook/jest/pull/5503`))
* `[jest-mock]` Update `spyOnProperty` to support spying on the prototype chain
  ([#&#8203;5753](`https://github.com/facebook/jest/pull/5753`))
* `[jest-mock]` Add tracking of return values in the `mock` property
  ([#&#8203;5752](`https://github.com/facebook/jest/pull/5752`))
* `[jest-mock]` Add tracking of thrown errors in the `mock` property
  ([#&#8203;5764](`https://github.com/facebook/jest/pull/5764`))
* `[expect]`Add nthCalledWith spy matcher
  ([#&#8203;5605](`https://github.com/facebook/jest/pull/5605`))
* `[jest-cli]` Add `isSerial` property that runners can expose to specify that
  they can not run in parallel
  ([#&#8203;5706](`https://github.com/facebook/jest/pull/5706`))
* `[expect]` Add `.toBeCalledTimes` and `toHaveBeenNthCalledWith` aliases
  ([#&#8203;5826](`https://github.com/facebook/jest/pull/5826`))
* `[jest-cli]` Interactive Snapshot Mode improvements
  ([#&#8203;5864](`https://github.com/facebook/jest/pull/5864`))
* `[jest-editor-support]` Add `no-color` option to runner
  ([#&#8203;5909](`https://github.com/facebook/jest/pull/5909`))
* `[jest-jasmine2]` Pretty-print non-Error object errors
  ([#&#8203;5980](`https://github.com/facebook/jest/pull/5980`))
* `[jest-message-util]` Include column in stack frames
  ([#&#8203;5889](`https://github.com/facebook/jest/pull/5889`))
* `[expect]` Introduce toStrictEqual
  ([#&#8203;6032](`https://github.com/facebook/jest/pull/6032`))
* `[expect]` Add return matchers
  ([#&#8203;5879](`https://github.com/facebook/jest/pull/5879`))
* `[jest-cli]` Improve snapshot summaries
  ([#&#8203;6181](`https://github.com/facebook/jest/pull/6181`))
* `[expect]` Include custom mock names in error messages
  ([#&#8203;6199](`https://github.com/facebook/jest/pull/6199`))
* `[jest-diff]` Support returning diff from oneline strings
  ([#&#8203;6221](`https://github.com/facebook/jest/pull/6221`))
* `[expect]` Improve return matchers
  ([#&#8203;6172](`https://github.com/facebook/jest/pull/6172`))
* `[jest-cli]` Overhaul watch plugin hooks names
  ([#&#8203;6249](`https://github.com/facebook/jest/pull/6249`))
* `[jest-mock]` Include tracked call results in serialized mock
  ([#&#8203;6244](`https://github.com/facebook/jest/pull/6244`))
##### Fixes

* `[jest-cli]` Fix stdin encoding to utf8 for watch plugins.
  ([#&#8203;6253](`https://github.com/facebook/jest/issues/6253`))
* `[expect]` Better detection of DOM Nodes for equality
  ([#&#8203;6246](`https://github.com/facebook/jest/pull/6246`))
* `[jest-cli]` Fix misleading action description for F key when in "only failed
  tests" mode. ([#&#8203;6167](`https://github.com/facebook/jest/issues/6167`))
* `[jest-worker]` Stick calls to workers before processing them
  ([#&#8203;6073](`https://github.com/facebook/jest/pull/6073`))
* `[babel-plugin-jest-hoist]` Allow using `console` global variable
  ([#&#8203;6075](`https://github.com/facebook/jest/pull/6075`))
* `[jest-jasmine2]` Always remove node core message from assert stack traces
  ([#&#8203;6055](`https://github.com/facebook/jest/pull/6055`))
* `[expect]` Add stack trace when `expect.assertions` and `expect.hasAssertions`
  causes test failures. ([#&#8203;5997](`https://github.com/facebook/jest/pull/5997`))
* `[jest-runtime]` Throw a more useful error when trying to require modules
  after the test environment is torn down
  ([#&#8203;5888](`https://github.com/facebook/jest/pull/5888`))
* `[jest-mock]` [**BREAKING**] Replace timestamps with `invocationCallOrder`
  ([#&#8203;5867](`https://github.com/facebook/jest/pull/5867`))
* `[jest-jasmine2]` Install `sourcemap-support` into normal runtime to catch
  runtime errors ([#&#8203;5945](`https://github.com/facebook/jest/pull/5945`))
* `[jest-jasmine2]` Added assertion error handling inside `afterAll hook`
  ([#&#8203;5884](`https://github.com/facebook/jest/pull/5884`))
* `[jest-cli]` Remove the notifier actions in case of failure when not in watch
  mode. ([#&#8203;5861](`https://github.com/facebook/jest/pull/5861`))
* `[jest-mock]` Extend .toHaveBeenCalled return message with outcome
  ([#&#8203;5951](`https://github.com/facebook/jest/pull/5951`))
* `[jest-runner]` Assign `process.env.JEST_WORKER_ID="1"` when in runInBand mode
  ([#&#8203;5860](`https://github.com/facebook/jest/pull/5860`))
* `[jest-cli]` Add descriptive error message when trying to use
  `globalSetup`/`globalTeardown` file that doesn't export a function.
  ([#&#8203;5835](`https://github.com/facebook/jest/pull/5835`))
* `[expect]` Do not rely on `instanceof RegExp`, since it will not work for
  RegExps created inside of a different VM
  ([#&#8203;5729](`https://github.com/facebook/jest/pull/5729`))
* `[jest-resolve]` Update node module resolution algorithm to correctly handle
  symlinked paths ([#&#8203;5085](`https://github.com/facebook/jest/pull/5085`))
* `[jest-editor-support]` Update `Settings` to use spawn in shell option
  ([#&#8203;5658](`https://github.com/facebook/jest/pull/5658`))
* `[jest-cli]` Improve the error message when 2 projects resolve to the same
  config ([#&#8203;5674](`https://github.com/facebook/jest/pull/5674`))
* `[jest-runtime]` remove retainLines from coverage instrumentation
  ([#&#8203;5692](`https://github.com/facebook/jest/pull/5692`))
* `[jest-cli]` Fix update snapshot issue when using watchAll
  ([#&#8203;5696](`https://github.com/facebook/jest/pull/5696`))
* `[expect]` Fix rejects.not matcher
  ([#&#8203;5670](`https://github.com/facebook/jest/pull/5670`))
* `[jest-runtime]` Prevent Babel warnings on large files
  ([#&#8203;5702](`https://github.com/facebook/jest/pull/5702`))
* `[jest-mock]` Prevent `mockRejectedValue` from causing unhandled rejection
  ([#&#8203;5720](`https://github.com/facebook/jest/pull/5720`))
* `[pretty-format]` Handle React fragments better
  ([#&#8203;5816](`https://github.com/facebook/jest/pull/5816`))
* `[pretty-format]` Handle formatting of `React.forwardRef` and `Context`
  components ([#&#8203;6093](`https://github.com/facebook/jest/pull/6093`))
* `[jest-cli]` Switch collectCoverageFrom back to a string
  ([#&#8203;5914](`https://github.com/facebook/jest/pull/5914`))
* `[jest-regex-util]` Fix handling regex symbols in tests path on Windows
  ([#&#8203;5941](`https://github.com/facebook/jest/pull/5941`))
* `[jest-util]` Fix handling of NaN/Infinity in mock timer delay
  ([#&#8203;5966](`https://github.com/facebook/jest/pull/5966`))
* `[jest-resolve]` Generalise test for package main entries equivalent to ".".
  ([#&#8203;5968](`https://github.com/facebook/jest/pull/5968`))
* `[jest-config]` Ensure that custom resolvers are used when resolving the
  configuration ([#&#8203;5976](`https://github.com/facebook/jest/pull/5976`))
* `[website]` Fix website docs
  ([#&#8203;5853](`https://github.com/facebook/jest/pull/5853`))
* `[expect]` Fix isEqual Set and Map to compare object values and keys
  regardless of order ([#&#8203;6150](`https://github.com/facebook/jest/pull/6150`))
* `[pretty-format]` [**BREAKING**] Remove undefined props from React elements
  ([#&#8203;6162](`https://github.com/facebook/jest/pull/6162`))
* `[jest-haste-map]` Properly resolve mocked node modules without package.json
  defined ([#&#8203;6232](`https://github.com/facebook/jest/pull/6232`))
##### Chore & Maintenance

* `[jest-runner]` Move sourcemap installation from `jest-jasmine2` to
  `jest-runner` ([#&#8203;6176](`https://github.com/facebook/jest/pull/6176`))
* `[jest-cli]` Use yargs's built-in `version` instead of rolling our own
  ([#&#8203;6215](`https://github.com/facebook/jest/pull/6215`))
* `[docs]` Add explanation on how to mock methods not implemented in JSDOM
* `[jest-jasmine2]` Simplify `Env.execute` and TreeProcessor to setup and clean
  resources for the top suite the same way as for all of the children suites
  ([#&#8203;5885](`https://github.com/facebook/jest/pull/5885`))
* `[babel-jest]` [**BREAKING**] Always return object from transformer
  ([#&#8203;5991](`https://github.com/facebook/jest/pull/5991`))
* `[*]` Run Prettier on compiled output
  ([#&#8203;5858](`https://github.com/facebook/jest/pull/3497`))
* `[jest-cli]` Add fileChange hook for plugins
  ([#&#8203;5708](`https://github.com/facebook/jest/pull/5708`))
* `[docs]` Add docs on using `jest.mock(...)`
  ([#&#8203;5648](`https://github.com/facebook/jest/pull/5648`))
* `[docs]` Mention Jest Puppeteer Preset
  ([#&#8203;5722](`https://github.com/facebook/jest/pull/5722`))
* `[docs]` Add jest-community section to website
  ([#&#8203;5675](`https://github.com/facebook/jest/pull/5675`))
* `[docs]` Add versioned docs for v22.4
  ([##&#8203;5733](https://github.com/facebook/jest/pull/#&#8203;5733))
* `[docs]` Improve Snapshot Testing Guide
  ([#&#8203;5812](`https://github.com/facebook/jest/issues/5812`))
* `[jest-runtime]` [**BREAKING**] Remove `jest.genMockFn` and
  `jest.genMockFunction` ([#&#8203;6173](`https://github.com/facebook/jest/pull/6173`))
* `[jest-message-util]` Avoid adding unnecessary indent to blank lines in stack
  traces ([#&#8203;6211](`https://github.com/facebook/jest/pull/6211`))

---

</details>




---

This PR has been generated by [Renovate Bot](https://renovatebot.com).
wopian referenced this pull request in wopian/kitsu May 25, 2018
This Pull Request updates dependency [jest](https://github.com/facebook/jest) from `~22.4.0` to `~23.0.0`



<details>
<summary>Release Notes</summary>

### [`v23.0.0`](https://github.com/facebook/jest/blob/master/CHANGELOG.md#&#8203;2300)
[Compare Source](jestjs/jest@2745e3e...v23.0.0)
##### Features

* `[expect]` Expose `getObjectSubset`, `iterableEquality`, and `subsetEquality`
  ([#&#8203;6210](`https://github.com/facebook/jest/pull/6210`))
* `[jest-snapshot]` Add snapshot property matchers
  ([#&#8203;6210](`https://github.com/facebook/jest/pull/6210`))
* `[jest-config]` Support jest-preset.js files within Node modules
  ([#&#8203;6185](`https://github.com/facebook/jest/pull/6185`))
* `[jest-cli]` Add `--detectOpenHandles` flag which enables Jest to potentially
  track down handles keeping it open after tests are complete.
  ([#&#8203;6130](`https://github.com/facebook/jest/pull/6130`))
* `[jest-jasmine2]` Add data driven testing based on `jest-each`
  ([#&#8203;6102](`https://github.com/facebook/jest/pull/6102`))
* `[jest-matcher-utils]` Change "suggest to equal" message to be more advisory
  ([#&#8203;6103](`https://github.com/facebook/jest/issues/6103`))
* `[jest-message-util]` Don't ignore messages with `vendor` anymore
  ([#&#8203;6117](`https://github.com/facebook/jest/pull/6117`))
* `[jest-validate]` Get rid of `jest-config` dependency
  ([#&#8203;6067](`https://github.com/facebook/jest/pull/6067`))
* `[jest-validate]` Adds option to inject `deprecationEntries`
  ([#&#8203;6067](`https://github.com/facebook/jest/pull/6067`))
* `[jest-snapshot]` [**BREAKING**] Concatenate name of test, optional snapshot
  name and count ([#&#8203;6015](`https://github.com/facebook/jest/pull/6015`))
* `[jest-runtime]` Allow for transform plugins to skip the definition process
  method if createTransformer method was defined.
  ([#&#8203;5999](`https://github.com/facebook/jest/pull/5999`))
* `[expect]` Add stack trace for async errors
  ([#&#8203;6008](`https://github.com/facebook/jest/pull/6008`))
* `[jest-jasmine2]` Add stack trace for timeouts
  ([#&#8203;6008](`https://github.com/facebook/jest/pull/6008`))
* `[jest-jasmine2]` Add stack trace for thrown non-`Error`s
  ([#&#8203;6008](`https://github.com/facebook/jest/pull/6008`))
* `[jest-runtime]` Prevent modules from marking themselves as their own parent
  ([#&#8203;5235](`https://github.com/facebook/jest/issues/5235`))
* `[jest-mock]` Add support for auto-mocking generator functions
  ([#&#8203;5983](`https://github.com/facebook/jest/pull/5983`))
* `[expect]` Add support for async matchers
   ([#&#8203;5919](`https://github.com/facebook/jest/pull/5919`))
* `[expect]` Suggest toContainEqual
  ([#&#8203;5948](`https://github.com/facebook/jest/pull/5953`))
* `[jest-config]` Export Jest's default options
  ([#&#8203;5948](`https://github.com/facebook/jest/pull/5948`))
* `[jest-editor-support]` Move `coverage` to `ProjectWorkspace.collectCoverage`
  ([#&#8203;5929](`https://github.com/facebook/jest/pull/5929`))
* `[jest-editor-support]` Add `coverage` option to runner
  ([#&#8203;5836](`https://github.com/facebook/jest/pull/5836`))
* `[jest-haste-map]` Support extracting dynamic `import`s
  ([#&#8203;5883](`https://github.com/facebook/jest/pull/5883`))
* `[expect]` Improve output format for mismatchedArgs in mock/spy calls.
  ([#&#8203;5846](`https://github.com/facebook/jest/pull/5846`))
* `[jest-cli]` Add support for using `--coverage` in combination with watch
  mode, `--onlyChanged`, `--findRelatedTests` and more
  ([#&#8203;5601](`https://github.com/facebook/jest/pull/5601`))
* `[jest-jasmine2]` [**BREAKING**] Adds error throwing and descriptive errors to
  `it`/ `test` for invalid arguments. `[jest-circus]` Adds error throwing and
  descriptive errors to `it`/ `test` for invalid arguments
  ([#&#8203;5558](`https://github.com/facebook/jest/pull/5558`))
* `[jest-matcher-utils]` Add `isNot` option to `matcherHint` function
  ([#&#8203;5512](`https://github.com/facebook/jest/pull/5512`))
* `[jest-config]` Add `<rootDir>` to runtime files not found error report
  ([#&#8203;5693](`https://github.com/facebook/jest/pull/5693`))
* `[expect]` Make toThrow matcher pass only if Error object is returned from
  promises ([#&#8203;5670](`https://github.com/facebook/jest/pull/5670`))
* `[expect]` Add isError to utils
  ([#&#8203;5670](`https://github.com/facebook/jest/pull/5670`))
* `[expect]` Add inverse matchers (`expect.not.arrayContaining`, etc.,
  [#&#8203;5517](`https://github.com/facebook/jest/pull/5517`))
* `[expect]` `expect.extend` now also extends asymmetric matchers
  ([#&#8203;5503](`https://github.com/facebook/jest/pull/5503`))
* `[jest-mock]` Update `spyOnProperty` to support spying on the prototype chain
  ([#&#8203;5753](`https://github.com/facebook/jest/pull/5753`))
* `[jest-mock]` Add tracking of return values in the `mock` property
  ([#&#8203;5752](`https://github.com/facebook/jest/pull/5752`))
* `[jest-mock]` Add tracking of thrown errors in the `mock` property
  ([#&#8203;5764](`https://github.com/facebook/jest/pull/5764`))
* `[expect]`Add nthCalledWith spy matcher
  ([#&#8203;5605](`https://github.com/facebook/jest/pull/5605`))
* `[jest-cli]` Add `isSerial` property that runners can expose to specify that
  they can not run in parallel
  ([#&#8203;5706](`https://github.com/facebook/jest/pull/5706`))
* `[expect]` Add `.toBeCalledTimes` and `toHaveBeenNthCalledWith` aliases
  ([#&#8203;5826](`https://github.com/facebook/jest/pull/5826`))
* `[jest-cli]` Interactive Snapshot Mode improvements
  ([#&#8203;5864](`https://github.com/facebook/jest/pull/5864`))
* `[jest-editor-support]` Add `no-color` option to runner
  ([#&#8203;5909](`https://github.com/facebook/jest/pull/5909`))
* `[jest-jasmine2]` Pretty-print non-Error object errors
  ([#&#8203;5980](`https://github.com/facebook/jest/pull/5980`))
* `[jest-message-util]` Include column in stack frames
  ([#&#8203;5889](`https://github.com/facebook/jest/pull/5889`))
* `[expect]` Introduce toStrictEqual
  ([#&#8203;6032](`https://github.com/facebook/jest/pull/6032`))
* `[expect]` Add return matchers
  ([#&#8203;5879](`https://github.com/facebook/jest/pull/5879`))
* `[jest-cli]` Improve snapshot summaries
  ([#&#8203;6181](`https://github.com/facebook/jest/pull/6181`))
* `[expect]` Include custom mock names in error messages
  ([#&#8203;6199](`https://github.com/facebook/jest/pull/6199`))
* `[jest-diff]` Support returning diff from oneline strings
  ([#&#8203;6221](`https://github.com/facebook/jest/pull/6221`))
* `[expect]` Improve return matchers
  ([#&#8203;6172](`https://github.com/facebook/jest/pull/6172`))
* `[jest-cli]` Overhaul watch plugin hooks names
  ([#&#8203;6249](`https://github.com/facebook/jest/pull/6249`))
* `[jest-mock]` Include tracked call results in serialized mock
  ([#&#8203;6244](`https://github.com/facebook/jest/pull/6244`))
##### Fixes

* `[jest-cli]` Fix stdin encoding to utf8 for watch plugins.
  ([#&#8203;6253](`https://github.com/facebook/jest/issues/6253`))
* `[expect]` Better detection of DOM Nodes for equality
  ([#&#8203;6246](`https://github.com/facebook/jest/pull/6246`))
* `[jest-cli]` Fix misleading action description for F key when in "only failed
  tests" mode. ([#&#8203;6167](`https://github.com/facebook/jest/issues/6167`))
* `[jest-worker]` Stick calls to workers before processing them
  ([#&#8203;6073](`https://github.com/facebook/jest/pull/6073`))
* `[babel-plugin-jest-hoist]` Allow using `console` global variable
  ([#&#8203;6075](`https://github.com/facebook/jest/pull/6075`))
* `[jest-jasmine2]` Always remove node core message from assert stack traces
  ([#&#8203;6055](`https://github.com/facebook/jest/pull/6055`))
* `[expect]` Add stack trace when `expect.assertions` and `expect.hasAssertions`
  causes test failures. ([#&#8203;5997](`https://github.com/facebook/jest/pull/5997`))
* `[jest-runtime]` Throw a more useful error when trying to require modules
  after the test environment is torn down
  ([#&#8203;5888](`https://github.com/facebook/jest/pull/5888`))
* `[jest-mock]` [**BREAKING**] Replace timestamps with `invocationCallOrder`
  ([#&#8203;5867](`https://github.com/facebook/jest/pull/5867`))
* `[jest-jasmine2]` Install `sourcemap-support` into normal runtime to catch
  runtime errors ([#&#8203;5945](`https://github.com/facebook/jest/pull/5945`))
* `[jest-jasmine2]` Added assertion error handling inside `afterAll hook`
  ([#&#8203;5884](`https://github.com/facebook/jest/pull/5884`))
* `[jest-cli]` Remove the notifier actions in case of failure when not in watch
  mode. ([#&#8203;5861](`https://github.com/facebook/jest/pull/5861`))
* `[jest-mock]` Extend .toHaveBeenCalled return message with outcome
  ([#&#8203;5951](`https://github.com/facebook/jest/pull/5951`))
* `[jest-runner]` Assign `process.env.JEST_WORKER_ID="1"` when in runInBand mode
  ([#&#8203;5860](`https://github.com/facebook/jest/pull/5860`))
* `[jest-cli]` Add descriptive error message when trying to use
  `globalSetup`/`globalTeardown` file that doesn't export a function.
  ([#&#8203;5835](`https://github.com/facebook/jest/pull/5835`))
* `[expect]` Do not rely on `instanceof RegExp`, since it will not work for
  RegExps created inside of a different VM
  ([#&#8203;5729](`https://github.com/facebook/jest/pull/5729`))
* `[jest-resolve]` Update node module resolution algorithm to correctly handle
  symlinked paths ([#&#8203;5085](`https://github.com/facebook/jest/pull/5085`))
* `[jest-editor-support]` Update `Settings` to use spawn in shell option
  ([#&#8203;5658](`https://github.com/facebook/jest/pull/5658`))
* `[jest-cli]` Improve the error message when 2 projects resolve to the same
  config ([#&#8203;5674](`https://github.com/facebook/jest/pull/5674`))
* `[jest-runtime]` remove retainLines from coverage instrumentation
  ([#&#8203;5692](`https://github.com/facebook/jest/pull/5692`))
* `[jest-cli]` Fix update snapshot issue when using watchAll
  ([#&#8203;5696](`https://github.com/facebook/jest/pull/5696`))
* `[expect]` Fix rejects.not matcher
  ([#&#8203;5670](`https://github.com/facebook/jest/pull/5670`))
* `[jest-runtime]` Prevent Babel warnings on large files
  ([#&#8203;5702](`https://github.com/facebook/jest/pull/5702`))
* `[jest-mock]` Prevent `mockRejectedValue` from causing unhandled rejection
  ([#&#8203;5720](`https://github.com/facebook/jest/pull/5720`))
* `[pretty-format]` Handle React fragments better
  ([#&#8203;5816](`https://github.com/facebook/jest/pull/5816`))
* `[pretty-format]` Handle formatting of `React.forwardRef` and `Context`
  components ([#&#8203;6093](`https://github.com/facebook/jest/pull/6093`))
* `[jest-cli]` Switch collectCoverageFrom back to a string
  ([#&#8203;5914](`https://github.com/facebook/jest/pull/5914`))
* `[jest-regex-util]` Fix handling regex symbols in tests path on Windows
  ([#&#8203;5941](`https://github.com/facebook/jest/pull/5941`))
* `[jest-util]` Fix handling of NaN/Infinity in mock timer delay
  ([#&#8203;5966](`https://github.com/facebook/jest/pull/5966`))
* `[jest-resolve]` Generalise test for package main entries equivalent to ".".
  ([#&#8203;5968](`https://github.com/facebook/jest/pull/5968`))
* `[jest-config]` Ensure that custom resolvers are used when resolving the
  configuration ([#&#8203;5976](`https://github.com/facebook/jest/pull/5976`))
* `[website]` Fix website docs
  ([#&#8203;5853](`https://github.com/facebook/jest/pull/5853`))
* `[expect]` Fix isEqual Set and Map to compare object values and keys
  regardless of order ([#&#8203;6150](`https://github.com/facebook/jest/pull/6150`))
* `[pretty-format]` [**BREAKING**] Remove undefined props from React elements
  ([#&#8203;6162](`https://github.com/facebook/jest/pull/6162`))
* `[jest-haste-map]` Properly resolve mocked node modules without package.json
  defined ([#&#8203;6232](`https://github.com/facebook/jest/pull/6232`))
##### Chore & Maintenance

* `[jest-runner]` Move sourcemap installation from `jest-jasmine2` to
  `jest-runner` ([#&#8203;6176](`https://github.com/facebook/jest/pull/6176`))
* `[jest-cli]` Use yargs's built-in `version` instead of rolling our own
  ([#&#8203;6215](`https://github.com/facebook/jest/pull/6215`))
* `[docs]` Add explanation on how to mock methods not implemented in JSDOM
* `[jest-jasmine2]` Simplify `Env.execute` and TreeProcessor to setup and clean
  resources for the top suite the same way as for all of the children suites
  ([#&#8203;5885](`https://github.com/facebook/jest/pull/5885`))
* `[babel-jest]` [**BREAKING**] Always return object from transformer
  ([#&#8203;5991](`https://github.com/facebook/jest/pull/5991`))
* `[*]` Run Prettier on compiled output
  ([#&#8203;5858](`https://github.com/facebook/jest/pull/3497`))
* `[jest-cli]` Add fileChange hook for plugins
  ([#&#8203;5708](`https://github.com/facebook/jest/pull/5708`))
* `[docs]` Add docs on using `jest.mock(...)`
  ([#&#8203;5648](`https://github.com/facebook/jest/pull/5648`))
* `[docs]` Mention Jest Puppeteer Preset
  ([#&#8203;5722](`https://github.com/facebook/jest/pull/5722`))
* `[docs]` Add jest-community section to website
  ([#&#8203;5675](`https://github.com/facebook/jest/pull/5675`))
* `[docs]` Add versioned docs for v22.4
  ([##&#8203;5733](https://github.com/facebook/jest/pull/#&#8203;5733))
* `[docs]` Improve Snapshot Testing Guide
  ([#&#8203;5812](`https://github.com/facebook/jest/issues/5812`))
* `[jest-runtime]` [**BREAKING**] Remove `jest.genMockFn` and
  `jest.genMockFunction` ([#&#8203;6173](`https://github.com/facebook/jest/pull/6173`))
* `[jest-message-util]` Avoid adding unnecessary indent to blank lines in stack
  traces ([#&#8203;6211](`https://github.com/facebook/jest/pull/6211`))

---

</details>




---

This PR has been generated by [Renovate Bot](https://renovatebot.com).
calebeby referenced this pull request in Pigmice2733/scouting-frontend May 30, 2018
This Pull Request updates dependency [jest](https://github.com/facebook/jest) from `v22.4.3` to `v23.0.1`



<details>
<summary>Release Notes</summary>

### [`v23.0.1`](https://github.com/facebook/jest/blob/master/CHANGELOG.md#&#8203;2301)
[Compare Source](jestjs/jest@v23.0.0...3a3b4e3)
##### Chore & Maintenance

* `[jest-jasemine2]` Add dependency on jest-each ([#&#8203;6308](`https://github.com/facebook/jest/pull/6308`))
* `[jest-each]` Move jest-each into core Jest ([#&#8203;6278](`https://github.com/facebook/jest/pull/6278`))
* `[examples]` Update typescript example to using ts-jest ([#&#8203;6260](`https://github.com/facebook/jest/pull/6260`))
##### Fixes

* `[pretty-format]` Serialize inverse asymmetric matchers correctly ([#&#8203;6272](`https://github.com/facebook/jest/pull/6272`))

---

### [`v23.0.0`](https://github.com/facebook/jest/blob/master/CHANGELOG.md#&#8203;2300)
[Compare Source](jestjs/jest@2745e3e...v23.0.0)
##### Features

* `[expect]` Expose `getObjectSubset`, `iterableEquality`, and `subsetEquality` ([#&#8203;6210](`https://github.com/facebook/jest/pull/6210`))
* `[jest-snapshot]` Add snapshot property matchers ([#&#8203;6210](`https://github.com/facebook/jest/pull/6210`))
* `[jest-config]` Support jest-preset.js files within Node modules ([#&#8203;6185](`https://github.com/facebook/jest/pull/6185`))
* `[jest-cli]` Add `--detectOpenHandles` flag which enables Jest to potentially track down handles keeping it open after tests are complete. ([#&#8203;6130](`https://github.com/facebook/jest/pull/6130`))
* `[jest-jasmine2]` Add data driven testing based on `jest-each` ([#&#8203;6102](`https://github.com/facebook/jest/pull/6102`))
* `[jest-matcher-utils]` Change "suggest to equal" message to be more advisory ([#&#8203;6103](`https://github.com/facebook/jest/issues/6103`))
* `[jest-message-util]` Don't ignore messages with `vendor` anymore ([#&#8203;6117](`https://github.com/facebook/jest/pull/6117`))
* `[jest-validate]` Get rid of `jest-config` dependency ([#&#8203;6067](`https://github.com/facebook/jest/pull/6067`))
* `[jest-validate]` Adds option to inject `deprecationEntries` ([#&#8203;6067](`https://github.com/facebook/jest/pull/6067`))
* `[jest-snapshot]` [**BREAKING**] Concatenate name of test, optional snapshot name and count ([#&#8203;6015](`https://github.com/facebook/jest/pull/6015`))
* `[jest-runtime]` Allow for transform plugins to skip the definition process method if createTransformer method was defined. ([#&#8203;5999](`https://github.com/facebook/jest/pull/5999`))
* `[expect]` Add stack trace for async errors ([#&#8203;6008](`https://github.com/facebook/jest/pull/6008`))
* `[jest-jasmine2]` Add stack trace for timeouts ([#&#8203;6008](`https://github.com/facebook/jest/pull/6008`))
* `[jest-jasmine2]` Add stack trace for thrown non-`Error`s ([#&#8203;6008](`https://github.com/facebook/jest/pull/6008`))
* `[jest-runtime]` Prevent modules from marking themselves as their own parent ([#&#8203;5235](`https://github.com/facebook/jest/issues/5235`))
* `[jest-mock]` Add support for auto-mocking generator functions ([#&#8203;5983](`https://github.com/facebook/jest/pull/5983`))
* `[expect]` Add support for async matchers  ([#&#8203;5919](`https://github.com/facebook/jest/pull/5919`))
* `[expect]` Suggest toContainEqual ([#&#8203;5948](`https://github.com/facebook/jest/pull/5953`))
* `[jest-config]` Export Jest's default options ([#&#8203;5948](`https://github.com/facebook/jest/pull/5948`))
* `[jest-editor-support]` Move `coverage` to `ProjectWorkspace.collectCoverage` ([#&#8203;5929](`https://github.com/facebook/jest/pull/5929`))
* `[jest-editor-support]` Add `coverage` option to runner ([#&#8203;5836](`https://github.com/facebook/jest/pull/5836`))
* `[jest-haste-map]` Support extracting dynamic `import`s ([#&#8203;5883](`https://github.com/facebook/jest/pull/5883`))
* `[expect]` Improve output format for mismatchedArgs in mock/spy calls. ([#&#8203;5846](`https://github.com/facebook/jest/pull/5846`))
* `[jest-cli]` Add support for using `--coverage` in combination with watch mode, `--onlyChanged`, `--findRelatedTests` and more ([#&#8203;5601](`https://github.com/facebook/jest/pull/5601`))
* `[jest-jasmine2]` [**BREAKING**] Adds error throwing and descriptive errors to `it`/ `test` for invalid arguments. `[jest-circus]` Adds error throwing and descriptive errors to `it`/ `test` for invalid arguments ([#&#8203;5558](`https://github.com/facebook/jest/pull/5558`))
* `[jest-matcher-utils]` Add `isNot` option to `matcherHint` function ([#&#8203;5512](`https://github.com/facebook/jest/pull/5512`))
* `[jest-config]` Add `<rootDir>` to runtime files not found error report ([#&#8203;5693](`https://github.com/facebook/jest/pull/5693`))
* `[expect]` Make toThrow matcher pass only if Error object is returned from promises ([#&#8203;5670](`https://github.com/facebook/jest/pull/5670`))
* `[expect]` Add isError to utils ([#&#8203;5670](`https://github.com/facebook/jest/pull/5670`))
* `[expect]` Add inverse matchers (`expect.not.arrayContaining`, etc., [#&#8203;5517](`https://github.com/facebook/jest/pull/5517`))
* `[expect]` `expect.extend` now also extends asymmetric matchers ([#&#8203;5503](`https://github.com/facebook/jest/pull/5503`))
* `[jest-mock]` Update `spyOnProperty` to support spying on the prototype chain ([#&#8203;5753](`https://github.com/facebook/jest/pull/5753`))
* `[jest-mock]` Add tracking of return values in the `mock` property ([#&#8203;5752](`https://github.com/facebook/jest/pull/5752`))
* `[jest-mock]` Add tracking of thrown errors in the `mock` property ([#&#8203;5764](`https://github.com/facebook/jest/pull/5764`))
* `[expect]`Add nthCalledWith spy matcher ([#&#8203;5605](`https://github.com/facebook/jest/pull/5605`))
* `[jest-cli]` Add `isSerial` property that runners can expose to specify that they can not run in parallel ([#&#8203;5706](`https://github.com/facebook/jest/pull/5706`))
* `[expect]` Add `.toBeCalledTimes` and `toHaveBeenNthCalledWith` aliases ([#&#8203;5826](`https://github.com/facebook/jest/pull/5826`))
* `[jest-cli]` Interactive Snapshot Mode improvements ([#&#8203;5864](`https://github.com/facebook/jest/pull/5864`))
* `[jest-editor-support]` Add `no-color` option to runner ([#&#8203;5909](`https://github.com/facebook/jest/pull/5909`))
* `[jest-jasmine2]` Pretty-print non-Error object errors ([#&#8203;5980](`https://github.com/facebook/jest/pull/5980`))
* `[jest-message-util]` Include column in stack frames ([#&#8203;5889](`https://github.com/facebook/jest/pull/5889`))
* `[expect]` Introduce toStrictEqual ([#&#8203;6032](`https://github.com/facebook/jest/pull/6032`))
* `[expect]` Add return matchers ([#&#8203;5879](`https://github.com/facebook/jest/pull/5879`))
* `[jest-cli]` Improve snapshot summaries ([#&#8203;6181](`https://github.com/facebook/jest/pull/6181`))
* `[expect]` Include custom mock names in error messages ([#&#8203;6199](`https://github.com/facebook/jest/pull/6199`))
* `[jest-diff]` Support returning diff from oneline strings ([#&#8203;6221](`https://github.com/facebook/jest/pull/6221`))
* `[expect]` Improve return matchers ([#&#8203;6172](`https://github.com/facebook/jest/pull/6172`))
* `[jest-cli]` Overhaul watch plugin hooks names ([#&#8203;6249](`https://github.com/facebook/jest/pull/6249`))
* `[jest-mock]` Include tracked call results in serialized mock ([#&#8203;6244](`https://github.com/facebook/jest/pull/6244`))
##### Fixes

* `[jest-cli]` Fix stdin encoding to utf8 for watch plugins. ([#&#8203;6253](`https://github.com/facebook/jest/issues/6253`))
* `[expect]` Better detection of DOM Nodes for equality ([#&#8203;6246](`https://github.com/facebook/jest/pull/6246`))
* `[jest-cli]` Fix misleading action description for F key when in "only failed tests" mode. ([#&#8203;6167](`https://github.com/facebook/jest/issues/6167`))
* `[jest-worker]` Stick calls to workers before processing them ([#&#8203;6073](`https://github.com/facebook/jest/pull/6073`))
* `[babel-plugin-jest-hoist]` Allow using `console` global variable ([#&#8203;6075](`https://github.com/facebook/jest/pull/6075`))
* `[jest-jasmine2]` Always remove node core message from assert stack traces ([#&#8203;6055](`https://github.com/facebook/jest/pull/6055`))
* `[expect]` Add stack trace when `expect.assertions` and `expect.hasAssertions` causes test failures. ([#&#8203;5997](`https://github.com/facebook/jest/pull/5997`))
* `[jest-runtime]` Throw a more useful error when trying to require modules after the test environment is torn down ([#&#8203;5888](`https://github.com/facebook/jest/pull/5888`))
* `[jest-mock]` [**BREAKING**] Replace timestamps with `invocationCallOrder` ([#&#8203;5867](`https://github.com/facebook/jest/pull/5867`))
* `[jest-jasmine2]` Install `sourcemap-support` into normal runtime to catch runtime errors ([#&#8203;5945](`https://github.com/facebook/jest/pull/5945`))
* `[jest-jasmine2]` Added assertion error handling inside `afterAll hook` ([#&#8203;5884](`https://github.com/facebook/jest/pull/5884`))
* `[jest-cli]` Remove the notifier actions in case of failure when not in watch mode. ([#&#8203;5861](`https://github.com/facebook/jest/pull/5861`))
* `[jest-mock]` Extend .toHaveBeenCalled return message with outcome ([#&#8203;5951](`https://github.com/facebook/jest/pull/5951`))
* `[jest-runner]` Assign `process.env.JEST_WORKER_ID="1"` when in runInBand mode ([#&#8203;5860](`https://github.com/facebook/jest/pull/5860`))
* `[jest-cli]` Add descriptive error message when trying to use `globalSetup`/`globalTeardown` file that doesn't export a function. ([#&#8203;5835](`https://github.com/facebook/jest/pull/5835`))
* `[expect]` Do not rely on `instanceof RegExp`, since it will not work for RegExps created inside of a different VM ([#&#8203;5729](`https://github.com/facebook/jest/pull/5729`))
* `[jest-resolve]` Update node module resolution algorithm to correctly handle symlinked paths ([#&#8203;5085](`https://github.com/facebook/jest/pull/5085`))
* `[jest-editor-support]` Update `Settings` to use spawn in shell option ([#&#8203;5658](`https://github.com/facebook/jest/pull/5658`))
* `[jest-cli]` Improve the error message when 2 projects resolve to the same config ([#&#8203;5674](`https://github.com/facebook/jest/pull/5674`))
* `[jest-runtime]` remove retainLines from coverage instrumentation ([#&#8203;5692](`https://github.com/facebook/jest/pull/5692`))
* `[jest-cli]` Fix update snapshot issue when using watchAll ([#&#8203;5696](`https://github.com/facebook/jest/pull/5696`))
* `[expect]` Fix rejects.not matcher ([#&#8203;5670](`https://github.com/facebook/jest/pull/5670`))
* `[jest-runtime]` Prevent Babel warnings on large files ([#&#8203;5702](`https://github.com/facebook/jest/pull/5702`))
* `[jest-mock]` Prevent `mockRejectedValue` from causing unhandled rejection ([#&#8203;5720](`https://github.com/facebook/jest/pull/5720`))
* `[pretty-format]` Handle React fragments better ([#&#8203;5816](`https://github.com/facebook/jest/pull/5816`))
* `[pretty-format]` Handle formatting of `React.forwardRef` and `Context` components ([#&#8203;6093](`https://github.com/facebook/jest/pull/6093`))
* `[jest-cli]` Switch collectCoverageFrom back to a string ([#&#8203;5914](`https://github.com/facebook/jest/pull/5914`))
* `[jest-regex-util]` Fix handling regex symbols in tests path on Windows ([#&#8203;5941](`https://github.com/facebook/jest/pull/5941`))
* `[jest-util]` Fix handling of NaN/Infinity in mock timer delay ([#&#8203;5966](`https://github.com/facebook/jest/pull/5966`))
* `[jest-resolve]` Generalise test for package main entries equivalent to ".". ([#&#8203;5968](`https://github.com/facebook/jest/pull/5968`))
* `[jest-config]` Ensure that custom resolvers are used when resolving the configuration ([#&#8203;5976](`https://github.com/facebook/jest/pull/5976`))
* `[website]` Fix website docs ([#&#8203;5853](`https://github.com/facebook/jest/pull/5853`))
* `[expect]` Fix isEqual Set and Map to compare object values and keys regardless of order ([#&#8203;6150](`https://github.com/facebook/jest/pull/6150`))
* `[pretty-format]` [**BREAKING**] Remove undefined props from React elements ([#&#8203;6162](`https://github.com/facebook/jest/pull/6162`))
* `[jest-haste-map]` Properly resolve mocked node modules without package.json defined ([#&#8203;6232](`https://github.com/facebook/jest/pull/6232`))
##### Chore & Maintenance

* `[jest-runner]` Move sourcemap installation from `jest-jasmine2` to `jest-runner` ([#&#8203;6176](`https://github.com/facebook/jest/pull/6176`))
* `[jest-cli]` Use yargs's built-in `version` instead of rolling our own ([#&#8203;6215](`https://github.com/facebook/jest/pull/6215`))
* `[docs]` Add explanation on how to mock methods not implemented in JSDOM
* `[jest-jasmine2]` Simplify `Env.execute` and TreeProcessor to setup and clean resources for the top suite the same way as for all of the children suites ([#&#8203;5885](`https://github.com/facebook/jest/pull/5885`))
* `[babel-jest]` [**BREAKING**] Always return object from transformer ([#&#8203;5991](`https://github.com/facebook/jest/pull/5991`))
* `[*]` Run Prettier on compiled output ([#&#8203;5858](`https://github.com/facebook/jest/pull/3497`))
* `[jest-cli]` Add fileChange hook for plugins ([#&#8203;5708](`https://github.com/facebook/jest/pull/5708`))
* `[docs]` Add docs on using `jest.mock(...)` ([#&#8203;5648](`https://github.com/facebook/jest/pull/5648`))
* `[docs]` Mention Jest Puppeteer Preset ([#&#8203;5722](`https://github.com/facebook/jest/pull/5722`))
* `[docs]` Add jest-community section to website ([#&#8203;5675](`https://github.com/facebook/jest/pull/5675`))
* `[docs]` Add versioned docs for v22.4 ([#&#8203;5733](`https://github.com/facebook/jest/pull/5733`))
* `[docs]` Improve Snapshot Testing Guide ([#&#8203;5812](`https://github.com/facebook/jest/issues/5812`))
* `[jest-runtime]` [**BREAKING**] Remove `jest.genMockFn` and `jest.genMockFunction` ([#&#8203;6173](`https://github.com/facebook/jest/pull/6173`))
* `[jest-message-util]` Avoid adding unnecessary indent to blank lines in stack traces ([#&#8203;6211](`https://github.com/facebook/jest/pull/6211`))

---

### [`v22.4.4`](jestjs/jest@6851d8b...v22.4.4)
[Compare Source](jestjs/jest@6851d8b...v22.4.4)


---

</details>




---

This PR has been generated by [Renovate Bot](https://renovatebot.com).
@github-actions
Copy link

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 12, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants