Research
Security News
Malicious PyPI Package ‘pycord-self’ Targets Discord Developers with Token Theft and Backdoor Exploit
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
jest-each-object
Advanced tools
jest-each and Jest's built in it.each()
etc methods are great for defining a batch of test cases in one go.
it.each( [
[1, 2, 3],
[4, 5, 9]
] )('%s + %s = %s', (left, right, sum) => {
expect(left + right).toBe(sum);
} );
But the test name has to be constructed in printf-style, which doesn't allow named parameters. This sometimes makes the cases hard to write clearly.
This library is a solution to that problem.
const eachObject = require('jest-each-object');
eachObject( [
{left: 1, right: 2, sum: 3},
{left: 4, right: 5, sum: 9},
] ).it('$left + $right = $sum', ( {left, right, sum} ) => {
expect(left + right).toBe(sum);
} );
eachObject()
has same signature as jest-each. You can postpend eachObject()
with:
.it()
.test()
.describe()
.it.skip()
/ .test.skip()
/ .describe.skip()
.it.only()
/ .test.only()
/ .describe.only()
At the top of your test file:
require('jest-each-object/register');
Now you can substitute .eachObject()
anywhere you could use .each()
.
it.eachObject( [
{left: 1, right: 2, sum: 3},
{left: 4, right: 5, sum: 9},
] )('$left + $right = $sum', ( {left, right, sum} ) => {
expect(left + right).toBe(sum);
} );
describe.eachObject( /* ... */ )( /* ... */ );
it.skip.eachObject( /* ... */ )( /* ... */ );
describe.only.eachObject( /* ... */ )( /* ... */ );
xdescribe.eachObject( /* ... */ )( /* ... */ );
/* ... etc etc ... */
The clever stuff is done by this library's dependency jest-each-table. jest-each-object
just adds sugar.
Use npm test
to run the tests. Use npm run cover
to check coverage.
See changelog.md
If you discover a bug, please raise an issue on Github. https://github.com/overlookmotel/jest-each-object/issues
Pull requests are very welcome. Please:
FAQs
Jest Parameterised Testing with objects
We found that jest-each-object demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.