Testing the Notify Package

Learn how to write test cases to test the notify package.

Overview

Let’s write some tests to fully test this package. To do that, we’ll write unit tests and integration tests.

First, we’ll write unit tests for the package functions and methods, using a test file within the same package notify. For these tests, we’ll mock the command implementation using the same technique, allowing us to fully automate the unit tests without generating screen notifications.

Then, we’ll also write integration tests to test the exposed API and ensure the notifications come up onscreen. This test is particularly important because this package doesn’t produce an executable file to try it out. To avoid having notifications displayed every time, we’ll limit the execution of these tests by providing the build tag +build integration. We’ll only execute this test by providing the same tag to the go test tool.

Updating the notify_test.go file

Let’s start by writing the unit tests. We create and edit the file notify_test.go for the unit tests. We add the build constraint +build !integration to execute this file without the integration build tag. We’ll skip a line to ensure Go processes the comments as a build constraint instead of documentation, then we add the package definition:

Get hands-on with 1200+ tech skills courses.