在表格驱动测试中,遇到函数接受可变参数列表,struct如何定义
来源:9-1 测试

JohnnyLeaf
2020-07-28
老师你好:
在表格驱动测试中,如果被测试的函数的某个参数是一个可变参数列表(类似python的*args),改如何在(tests := []struct{numners ??})结构体中定义这个参数呢?
例如,我的某个函数:
func Sums(numbers ...[]int) sums []int {
lengthOfNumbers := len(numbers)
sums := make([]int, lengthOfNumbers)
...计算多个slice的和,并赋值给sums。
return sums
}
此时我改如何在测试中定义这个结构体?
func TestSums(t *testing.T) {
tests := []struct{
...?可变列表怎么写???
sums []int
}{
{[1,2,3], [6]}
{[1,2,3], [4, 5, 6], [6, 15]}
}
}
写回答
1回答
-
我们就定义成 sums [][]int
tests := []struct{
sums [][]int
}{
{[[1,2,3], [6]]}
{[[1,2,3], [4, 5, 6], [6, 15]]}
}在调用时,使用
t.sums...
传参即可。
122020-07-29
相似问题