The testing
package is available in the go playground.
How can I use the go playground to demonstrate testing concepts, without access to go test
?
My assumption is it's possible using the testing.RunTests function. My attempts to do so always generate only "testing: warning: no tests to run".
Example: https://play.golang.org/p/PvRCMdeXhX
For context, my use case is for sharing quick examples of tests, examples and benchmarks with colleagues. I rely on go playground for sharing code snippets like this often.
The convention for naming test files in Go is to end the file name with the _test.go suffix and place the file in the same directory as the code it tests. In the example above, the Multiply function is in integers.go , so its tests are placed in integers_test.go .
Running subtests in Go The t. Run() command takes two arguments — the first matches against parameters passed to go test , and the second is the name of a test function.
The 'go test' command may run tests for different packages in parallel as well, according to the setting of the -p flag (see 'go help build').
You need to use testing.Main
:
func main() {
testSuite := []testing.InternalTest{
{
Name: "TestCaseA",
F: TestCaseA,
},
}
testing.Main(matchString, testSuite, nil, nil)
}
https://play.golang.org/p/DQsIGKNWwd
If you want to use the "non deprecated", but unstable way:
https://play.golang.org/p/4zH7DiDcAP
Dave's answer still works as a manual way of invoking tests, but if you read the "About" tests are now automatically supported:
If the program contains tests or examples and no main function, the service runs the tests. Benchmarks will likely not be supported since the program runs in a sandboxed environment with limited resources.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With