1.3 Test Coverage
You must write tests for your client application in client_test.go
. Your tests should verify correct functionality of the client, correct handling of erroneous inputs, and any security problems. Each test case should be defined in a separate Describe()
block.
Several basic functionality tests are already defined in client_test.go
. Observe the structure and format of the provided tests before proceeding with test case creation.
See Getting Started Coding > Testing for an overview of how to write tests.
For your final submission, your test score is determined by test case coverage. Your tests will be run against the staff implementation of client.go
. The staff implementation contains 26 “coverage flags” hidden within client.go
. Each coverage flag is worth 1 point. You should aim to acquire at least 20 coverage flags in order to receive full credit for test case coverage.
You may check your test case coverage by submitting to the autograder on Gradescope at any time before the project deadline.
Note: Your tests should avoid relying on any implementation details specific to your client package: they should be capable of testing any student’s client.