Awesome
<h1 align="center"> <a href="https://testingjavascript.com/courses/javascript-mocking-fundamentals">JavaScript Mocking Fundamentals</a> </h1> <div align="center"> <h2><a href="https://testingjavascript.com">TestingJavaScript.com</a></h2> <a href="https://testingjavascript.com"> <img width="500" alt="Learn the smart, efficient way to test any JavaScript application." src="https://kentcdodds.com/images/testingjavascript-promo/tjs-4.jpg" /> </a> </div> <hr /> <p align="center" style="font-size: 1.2rem;"> Learn how mocking in JavaScript tests works by implementing them from scratch! </p> <hr />In this material, we have a set of no-framework
tests that correspond to a set
of jest tests (in the __tests__
directory). The idea is that (with the
exception of the first test), you look at the jest version first, then see how
that would be implemented without a testing framework.
Order of material:
monkey-patching.js
(no jest version)mock-fn.js
spy.js
inline-module-mock.js
external-mock-module.js
The files are intended to test the thumb-war.js
module and mock the utils
module.
To run the tests, run npx jest
. To start watch mode run npx jest --watch
Custom jest runner.
You can definitely run the no-framework
files just using node
(like this:
node src/no-framework/monkey-patching.js
), but in an effort to make running
these easier, I created a custom jest runner that uses jest to run the files,
but allow them to be run without the jest testing framework. It's really cool.
It uses create-jest-runner
and should probably be published eventually.