Test your JS with the Jestframework
ofrequiredattributes.Jest’slogictakesthe
snapshot’scontentsandperformsananalysis
againsttheobjectreturned— errorswillberaisedif
a mismatchis detected.Forthefollowingsteps,
startoutbyplacingthecodeshownnexttothis
stepinsideoftam.test.js.it(‘is a small test’,() => {test(‘Checksif we can divide’, () => {
expect(tam.divide(1,3)).
toBeCloseTo(0.333333333);
});- Run just one
 Should you ever feel like running one test, feel free
 to use the test.only function. It informs the runner
 that all other test cases are to be ignored — helpful
 and time-saving as your unit test suites grow.
test.only(‘this will be the only test that
runs’,
() => {
expect(true).toBe(false);
});
 - Understanding snapshots 
 As JavaScript object orientation entered mainstream
 developer conscience, more and more code
 adopted OOP principles.
 Sadly, verifying the correctness of objects gets
 tedious quickly — checking each and every
 member’s value by hand leads to long and
 difficult-to-handle test code.
 
 - Content analysis 
 Think of snapshots as a template containing a set
 
Jesttestscanalso
berunoutsideofa
package manager.
In this case, the Jest
command line utility
must be used — it
can only be run when
installed globally using
either NPMs or YARN’s
global install feature.
Once installed, visit
Jestjs.io/docs/en/cli.
Jest’s developer
team provide command
line users with dozens
of options intended to
tailor execution scope
to the needs of the task
at hand.
Entering ‘Jest
--findRelatedTests
path/to/fileA.js path/
to/fileB.js’ runs only
those tests which touch
the content of the files
passed in as arguments.
In addition to that, the
command line tool
can even analyse
local repositories and
run only these tests
affected by currently
uncommitted code.Harness the
power of the
command lineTutorials
const user= {
createdAt: new Date(),
id: Math.floor(Math.random() * 20),
name: ‘Tam HANNA’,
};
expect(user).toMatchSnapshot();
});14tutorial ������������������������������������������������� 81