关于测试用例的问题

来源:1-1 导学

叫我Accelerator

2020-02-13

问个问题,golang的这个测试用例的自定义的变量,以前是写在一个文件下的testcase func里面,每个ut都得写一次,其实这个文件下的所有ut基本上都是通用这些变量的,没必要一个func都写一次,改起来特别费劲,但是如果直接写在文件里面的func外面的变量的话,这个pakage写都会访问到这个变量,造成了变量名污染的问题,有什么好的解决办法吗,

写回答

1回答

xiaomo

2020-02-15

同学你好,不是很明白你的问题。有一些小建议,(1)如果是只读的参数,可以定义为全局常量,testing函数都可以访问; (2) 可以定义一些全局变量和一个全局的初始化函数,根据不同的需求和入参进行初始化,比如需要测试失败的案例,那么就将这些变量初始化为不合理的值; (3)可以定义一些辅助函数,根据不同的入参返回不同的结果,比如需要制定长度来生成一些随机值的列表,用于测试函数使用,类似:

import (
  "time"
  "math/rand"
)

// 生成一个指定长度的含随机整型slice的函数
func genData(count int) []int {
	arr := make([]int, count)
	rand.Seed(time.Now().UnixNano())
	for i:=0; i<count; i++ {
		arr[i] = rand.Intn(1000)
	}
	return arr
}

可能不太符合题意,不知道有没解答到同学的这个疑问?

0
0

Go实战仿百度云盘-实现企业级分布式云存储系统

紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员

1077 学习 · 494 问题

查看课程