The asynchronous testing
In this section, you'll learn how to test asynchronous functions. The process of testing asynchronous functions isn't that different from synchronous ones, like what we've done already, but it is a little different so it justifies its own section.
Creating the asyncAdd function using the setTimeout object
To kick things off, we'll make a fake async
function using setTimeout
to simulate a delay inside utils.js
. Just below where we make our add
function, let's make one called asyncAdd
. It'll essentially have the same features, but it'll use setTimeout
and it'll have a callback to simulate a delay. Now in the real world, this delay might be a database request or an HTTP request. We'll be dealing with that in the following chapters. For now though, let's add module.exports.asyncAdd
:
module.exports.add = (a, b) => a + b; module.exports.asyncAdd = ()
This will take three arguments, as opposed to the two the add
function took, a
, b
, and callback
:
module.exports.add = (a...