The Synse SDK strives to follow the Golang testing
best practices. Tests for each file are found in the same directory following the pattern
FILENAME_test.go, so given a file named
plugin.go, the test file would be
There are many articles and tutorials out there on how to write unit tests for Golang. In general, this repository tries to follow "best practices" as best as possible, striving to be consistent with how tests are written. This makes them easier to read and maintain. When writing new tests, use the existing ones as a guide.
Whenever additions or changes are made to the code base, there should be corresponding tests which cover those changes. Many unit tests already exists, so some changes may not require tests to be added. While good code coverage does not ensure bug-free code, it does help to identify bugs early on in the development cycle. Writing good tests is just as important as any implementation work.
Tests can be run with
go test, e.g.
$ go test ./sdk/...
For convenience, there is a make target to do this
$ make test
While the above make target will report coverage at a high level, it may be useful to view a detailed coverage report, showing which lines were hit and which were missed. For that, you can use the make target
This will run unit tests and output the resulting coverage reports as an HTML page.