go testing 包
Go语言的testing包提供了一套丰富的测试工具,用于编写和运行测试用例。以下是testing包中一些常用的函数和类型:
-
func TestMain(m *testing.M)
: 这是一个特殊的函数,用于执行测试的主函数。如果定义了TestMain,那么在运行go test时,会先调用TestMain,然后再调用其他的测试函数。 -
func Main(m *testing.M)
: 这是TestMain函数的别名,功能与TestMain相同。 -
func T.Errorf(format string, args ...interface{})
: 用于报告测试失败,并输出格式化的错误信息。 -
func T.Fatalf(format string, args ...interface{})
: 类似于Errorf,但会导致测试立即终止。 -
func T.Logf(format string, args ...interface{})
: 用于记录测试过程中的信息,不会中断测试。 -
func T.FailNow()
: 立即标记测试为失败,并停止当前测试。 -
func T.Skipf(format string, args ...interface{})
: 跳过当前的测试。 -
func T.Parallel()
: 表示该测试可以并行运行。 -
type M struct
: 一个结构体,包含有关测试的信息和方法。 -
func (c *C) Logf(format string, args ...interface{})
: 类似于T.Logf,但适用于C类型的测试实例。 -
func (c *C) Errorf(format string, args ...interface{})
: 类似于T.Errorf,但适用于C类型的测试实例。 -
func (c *C) Fatalf(format string, args ...interface{})
: 类似于T.Fatalf,但适用于C类型的测试实例。 -
func (c *C) FailNow()
: 类似于T.FailNow,但适用于C类型的测试实例。 -
func (c *C) Skipf(format string, args ...interface{})
: 类似于T.Skipf,但适用于C类型的测试实例。 -
func (c *C) Parallel()
: 类似于T.Parallel,但适用于C类型的测试实例。
这些函数和类型可以帮助你编写结构化、可读性强且易于维护的测试代码。