Unit testing is when you write a test for each unit (or each function/method) in a program. Each unit test is made up of assertion statements.
assertEqual: This can only be used to check scalar values (numbers or strings), not objects or arrays.
assertWithinRange: This checks if output is within a certain range.
assertArraysEqual: To assert that two arrays are equal, you must first check that they’re both equal in values and lengths.
assertObjectsEqual: objects must be converted to strings first to be compared.
How to call an assertion:
assertEqual(findLongestPalindrome('racecar hannah'), 'racecar', 'finds longest of two palindromes');
This was a strange and unnecessarily complicated problem..
My Test Cases:
Write a function that greets the user by name, or by saying “Hello, World!” if no name is given.
Note to self: Don’t forget ’em brackets, semi-colons, and ‘===’.
I was going to skip this problem since I solved it in Ruby already, but good thing I decided not to because JS syntax is a totally different & confusing beast.
More implementations to mull over here.
Also, here’s how to run exercism tests with jasmine-node:
Change ‘xit’ to ‘it’ when you’re ready to run a test case.
Execute the test file with the following code: