Go Testing: Difference between revisions
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
=Overview= | =Overview= | ||
Go comes with a lightweight test framework that includes the [[Go_Tool#test|<code>go test</code>]] command and the <code>[[Go Package testing#Overview|testing]]</code> package. | Go comes with a lightweight test framework that includes the [[Go_Tool#test|<code>go test</code>]] command and the <code>[[Go Package testing#Overview|testing]]</code> package. The tests live in <code>*_test.go</code> files. | ||
=Write a Unit Test= | |||
Also see [[Go_Packages#External_Test_Packages|external test packages]]. | Also see [[Go_Packages#External_Test_Packages|external test packages]]. |
Revision as of 00:10, 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
Also see external test packages.
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.
TODO testing idiom "Introducing Go" page 96.