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.
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:
There are execution time limits on playground and I believe they are less than the minimum execution time used by bench. From reviewing the source of the go test
command, it looks like the current proper entry point for tests is testing.MainStart
which you may or may not have luck using. It is technically an internal-use API and not subject to compatibility guidelines, so YMMV.