Unit testing in your app should be reserved for testing individual, standalone functions (i.e., "units" of code). To unit test a function, the test.load() method can be utilized:
/tests/lib/add.test.js
import test from '@joystick.js/test';
test.that('add function adds two numbers together', async (assert = {}) => {
const add = await test.load('lib/add.js', { default: true });
assert.is(add(5, 5), 10);
});
Above, we've utilized the test.load() method to dynamically import a function we want to unit test in our app at /lib/add.js. When we call test.load(), a dynamic import of that path is performed. Because we expect /lib/add.js to export the add() function as a default export, we pass { default: true } as the second argument to test.load() to ensure that we're handed back the default export and not an object like { default: [Function add] }.
API
Definition
test.load(path: string, options: object) => Promise;
Parameters
- path string required
- The path relative to the root of your project that you want to load dynamically.
- options object
- Options for test.load().