在使用testing package时,如何进行整体测试设置处理,为所有测试做好准备?
例如,Nunit中有一个[SetUp]
属性.
[TestFixture]
public class SuccessTests
{
[SetUp] public void Init()
{ /* Load test data */ }
}
在使用testing package时,如何进行整体测试设置处理,为所有测试做好准备?
例如,Nunit中有一个[SetUp]
属性.
[TestFixture]
public class SuccessTests
{
[SetUp] public void Init()
{ /* Load test data */ }
}
从Go 1.4开始,您可以实现设置/拆卸(无需在每次测试之前/之后复制功能).本文件在第Main节中有here条概述:
TestMain在主Goroutine中运行,可以执行任何设置和 在给m.Run的电话周围拆毁是必要的.然后,它应该调用 OS.退出,结果为m.Run
我花了一些时间才弄明白,这意味着如果测试包含函数func TestMain(m *testing.M)
,则将调用该函数,而不是运行测试.在此函数中,我可以定义测试将如何运行.例如,我可以实施全局设置和拆卸:
func TestMain(m *testing.M) { setup() code := m.Run() shutdown() os.Exit(code) }
其他几个例子can be found here.
TestMain特性在最新版本中添加到Go的测试框架中