Lab Instructions: Unit Testing
Tips: Before you Begin
To view your code and instructions side-by-side, select the following in your VSCode toolbar:
View -> Editor Layout -> Two Columns
To view this file in Preview mode, right click on this README.md file and
Open Preview
Select your code file in the code tree, which will open it up in a new VSCode tab.
Drag your assessment code files over to the second column.
Great work! You can now see instructions and code at the same time.
Questions about using VSCode? Please see our support resources here:
Visual Studio Code on CourseraTo run your JavaScript code
Select your JavaScript file
Select the "Run Code" button in the upper right hand toolbar of VSCode.
Ex: It looks like a triangular "Play" button.
Task 1: Add Jest as a devDependency
Open terminal. Make sure that it's pointing to jest-testing
directory.
Install the jest npm package using the npm install command and the --save-dev flag.
Verify that the installation was completed successfully by opening the package.json file and confirming that the "devDependencies" entry lists jest similar to the following:
"devDependencies": {
"jest": "^28.0.0"
}
Task 2: Update the test entry
In the package.json file, locate the "scripts" entry, and inside of it, update the test entry to jest
.
Task 3: Code the timesTwo function
Open the timesTwo.js file and add a function named timesTwo
. The function should take number as input and return the value 2 multiplied by the number. Export the timesTwo function as a module.
Task 4: Write the first test
Code a test call with the following arguments:
The description that reads: "returns the number times 2".
The second argument should expect the call to the timesTwo function, when passed the number 10, to be 20.
Task 5: Run the first test
With the terminal pointed at the jest-testing
directory, run the test script using npm.
timesTwo.test.js
const timesTwo = require('./timesTwo'); // Write the first test test('returns the number times 2', () => { expect(timesTwo(10)).toBe(20); });
package.json
{ "name": "jest-testing", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "jest" }, "author": "", "license": "ISC", "devDependencies": { "jest": "^28.1.3" } }
timesTwo.js
// Task 1: Code the timesTwo function declaration function timesTwo(num){ return num * 2; } // Task 2: Export the timesTwo function as a module module.exports = timesTwo;