testing
软件包可在Go Playground中使用。
我如何使用Go Playground演示测试概念,而无需访问go test
?
我的假设是使用testing.runtests函数。我这样做的尝试总是只生成"测试:警告:没有测试可以运行"。
示例:https://play.golang.org/p/pvrcmdexhx
对于上下文,我的用例是用于与同事共享测试,示例和基准测试的快速示例。我经常依靠Go Playground共享代码片段。
您需要使用testing.Main
:
func main() {
testSuite := []testing.InternalTest{
{
Name: "TestCaseA",
F: TestCaseA,
},
}
testing.Main(matchString, testSuite, nil, nil)
}
https://play.golang.org/p/dqsigknwwd
如果要使用"不弃用"但不稳定的方式:
https://play.golang.org/p/4zh7didcap
dave的答案仍然可以用作调用测试的手动方法,但是如果您阅读"关于"现在自动支持测试:
如果程序包含测试或示例,并且没有主功能,则该服务将运行测试。由于该程序在资源有限的沙箱环境中运行,因此可能不支持基准测试。
操场上有执行时间限制,我相信它们小于台式使用的最小执行时间。从查看go test
命令的源头,看起来当前的测试当前正确入口点是您可能使用或可能没有运气的testing.MainStart
。从技术上讲,它是一种内部用途的API,不受兼容指南的约束,因此YMMV。