Go Testing: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 9: Line 9:


=Write a Unit Test=
=Write a Unit Test=
Write a module as shown here: {{InternalGo_Modules#Declaring_Modules|Declaring a Module}}


=TO DEPLETE=
=TO DEPLETE=

Revision as of 00:12, 14 September 2023

External

Internal

Overview

Go comes with a lightweight test framework that includes the go test command and the testing package. The tests live in *_test.go files.

Write a Unit Test

Write a module as shown here: Template:InternalGo Modules

TO DEPLETE

Writing a Unit Test

  • Write a _test.go test file. They should belong to the same package as the tested code. These files are ignored by the compiler and only compiled and executed when go test is run.
  • Import "testing"
  • Tests are identified as functions starting with Test_... and taking an argument (t *testing.T).
package blue

import "testing"

func TestBlue(t *testing.T) {
    ...
    t.Error("expected this, got ", ...)
}

Then

go test

The command will look for any tests in any of the files in the current folder and run them.

Also see external test packages.

TODO testing idiom "Introducing Go" page 96.