go {playground>中提供了testing
包。
如何使用go操场来演示测试概念,而无法访问go test
?
我的假设是可以使用testing.RunTests函数。我这样做的尝试总是只产生"测试:警告:没有测试运行"。
示例:https://play.golang.org/p/PvRCMdeXhX
对于上下文,我的用例是与同事分享测试,示例和基准的快速示例。我依靠go playground来共享这样的代码片段。
答案 0 :(得分:7)
您需要使用testing.Main
:
func main() {
testSuite := []testing.InternalTest{
{
Name: "TestCaseA",
F: TestCaseA,
},
}
testing.Main(matchString, testSuite, nil, nil)
}
https://play.golang.org/p/DQsIGKNWwd
如果您想使用"非弃用",但不稳定的方式:
答案 1 :(得分:1)
Dave's answer 仍然可以手动调用测试,但如果您阅读“关于”测试,现在会自动支持:
<块引用>如果程序包含测试或示例但没有主要功能,则服务运行测试。由于该程序在资源有限的沙盒环境中运行,因此可能不支持基准测试。
答案 2 :(得分:0)
游乐场有执行时间限制,我相信它们比工作台使用的最短执行时间少。从审核the source of the go test
command开始,看起来当前正确的测试入口点是testing.MainStart
,您可能会或可能没有运气。它在技术上是一种内部使用的API,不受兼容性指导,因此YMMV。