summaryrefslogtreecommitdiffstats
path: root/sms-service/doc/coverage.md
diff options
context:
space:
mode:
Diffstat (limited to 'sms-service/doc/coverage.md')
-rw-r--r--sms-service/doc/coverage.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/sms-service/doc/coverage.md b/sms-service/doc/coverage.md
new file mode 100644
index 0000000..6168342
--- /dev/null
+++ b/sms-service/doc/coverage.md
@@ -0,0 +1,41 @@
+## Code Coverage Reports for Golang Applications ##
+
+This document covers how to generate HTML Code Coverage Reports for
+Golang Applications.
+
+#### Generate a test executable which calls your main()
+
+```sh
+$ go test -c -covermode=count -coverpkg ./...
+```
+
+#### Run the generated application to produce a new coverage report
+
+```sh
+$ ./sms.test -test.run "^TestMain$" -test.coverprofile=coverage.cov
+```
+
+#### Run your unit tests to produce their coverage report
+
+```sh
+$ go test -test.covermode=count -test.coverprofile=unit.out ./...
+```
+
+#### Merge the two coverage Reports
+
+```sh
+$ go get github.com/wadey/gocovmerge
+$ gocovmerge unit.out coverage.cov > all.out
+```
+
+#### Generate HTML Report
+
+```sh
+$ go tool cover -html all.out -o coverage.html
+```
+
+#### Generate Function Report
+
+```sh
+$ go tool cover -func all.out
+``` \ No newline at end of file