在GO中测试具有相同名称的函数

时间:2014-02-26 05:08:19

标签: go

在go中可以编写特定于结构的函数。

type one struct{}

func (o *one) fly() {}

我的问题是如果有两个具有相同名称但指向不同结构的函数,如何测试函数。

type one struct{}

func (o *one) fly() {}

type two struct{}

func (t *two) fly() {}

由于GO测试的格式是TestXxx(t * testing.T){} 我不确定如何能够分别测试每个功能。 感谢

2 个答案:

答案 0 :(得分:7)

TestXxx只是一个命名约定。 Xxx可能是您想要的任何内容,但Test(包含BenchmarkExample)是必需的。因此,声明2个测试函数 - TestOneFlyTestTwoFly,这就是全部。或者你可以在TestFly中测试两者,在一次测试中初始化两个结构。

答案 1 :(得分:0)

使用结构实例上的点运算符调用特定函数。

aOne := one{}
aOne.fly() //Calls the first version

aTwo := two{}
aTwo.fly() //Calls the second version