We follow the BDD-style testing principles and are leveraging the Ginkgo framework along with Gomega as matcher library. In order to execute the existing tests, you can use
$ make test # runs tests
$ make verify # runs static code checks and test
There is an additional command for analyzing the code coverage of the tests. Ginkgo will generate standard Golang cover profiles which will be translated into a HTML file by the Go Cover Tool. Another command helps you to clean up the filesystem from the temporary cover profile files and the HTML report:
$ make test-cov
$ open gardener.coverage.html
$ make test-clean
We are using Dep as depedency management tool.
In order to add a new package dependency to the project, you can perform dep ensure -add <PACKAGE>
or edit the Gopkg.toml
file and append the package along with the version you want to use as a new [[constraint]]
.
The Makefile
contains a rule called revendor
which performs dep ensure -update
. This updates all the dependencies to their latest versions (respecting the constraints specified in the Gopkg.toml
file). The command also installs the packages which do not yet exist in the vendor
folder but are specified in the Gopkg.toml
(in case you have added new ones).
$ make revendor
The dependencies are installed into the vendor
folder which should be added to the VCS.