- Learn the tools
- Write a test on existing code
- Add tests
Find and open the coverage/reports/lcov-report/index.html and navigate the file.
You can re-run tests individually by running:
$ grunt test
This command will also refresh the coverage report. Note that the you can run these commands automatically via the
watch
command:
$ grunt watch
>
> Running "watch" task
> Waiting...
This is the baseline you want for all of your tests going forward.
As you make any changes to TypeScript files, you should see this command trigger events automatically. For example,
try adding a space to src/exercise1/word.ts and save it. You will see the watch
recompile the TypeScript and run all tests.
Right now, we actually do not have 100% coverage; some test coverage analysis is being suppressed. Edit
src/exercise1/word.ts; remove the line about istanbul ignore
that looks like this:
/* istanbul ignore next */
By removing this line, the class defined below it will begin to count against the code coverage reports. You should notice your code coverage is no longer at 100%.
Add a test for the removeVowels()
method. The test should go to test/exercise1/word.ts
You should see the coverage report edge back up to 100%. The
[exercise 1 coverage report][../../coverage/reports/lcov-report/exercise1/word.js.html] should show the removeVowels
method fully covered (green). You will notice removeNumbers()
is still red.
Add a test for the removeNumbers()
method. The test should go to test/exercise1/word.ts
Note that you want to write the test, that will fail. This is because we have not yet added the logic for removeNumbers()
.
Make sure it fails first.
After you've written the test, update the removeNumbers()
method so that it has the appropriate logic. Your test
should pass.
You are done when all tests pass and coverage is 100%.