Unit Testing/Jest/Test Exceptions
< Unit Testing | Jest
Create a JavaScript Program
editCreate the following JavaScript program. Save it as multiply.js
function multiply(x, y) {
if (isNaN(x)) {
throw new Error("x must be a number");
}
if (isNaN(y)) {
throw new Error("y must be a number");
}
let result = x * y;
return result;
}
module.exports = multiply;
Create a Test Program
editCreate the following Jest test program. Save it as multiply.test.js
const multiply = require("./multiply");
test("Multiply 2 * 2", () => {
expect(multiply(2, 2)).toBe(4);
});
test("Multiply 2 * x", () => {
expect(() => {
multiply(2, "x");
}).toThrow("y must be a number");
});
Test Success
editTest the program by running Jest in a terminal or command prompt in the same folder as the two programs above and observe the results.
npm test
Test Failure
editChange the multiply source code somehow, such as removing the number validation. Test the program by running Jest again and observe the results.