在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){} 我不确定如何能够分别测试每个功能。 感谢
答案 0 :(得分:7)
TestXxx
只是一个命名约定。 Xxx
可能是您想要的任何内容,但Test
(包含Benchmark
和Example
)是必需的。因此,声明2个测试函数 - TestOneFly
和TestTwoFly
,这就是全部。或者你可以在TestFly
中测试两者,在一次测试中初始化两个结构。
答案 1 :(得分:0)
使用结构实例上的点运算符调用特定函数。
aOne := one{}
aOne.fly() //Calls the first version
aTwo := two{}
aTwo.fly() //Calls the second version