我有測試:package miscvar ( Trace *log.Logger Info *log.Logger Warning *log.Logger Error *log.Logger)func TestFTPGetFilesFromServer(t *testing.T) { misc.InitLogger(4) }with InitLogger is located in another packagefunc InitSimpleLogger(level int) { if level == 1 { Trace = log.New(ioutil.Discard, "[TRACE]\t", log.Ldate|log.Ltime|log.Lshortfile) Info = log.New(ioutil.Discard, "[INFO]\t", log.Ldate|log.Ltime|log.Lshortfile) Warning = log.New(ioutil.Discard, "[WARNING]\t", log.Ldate|log.Ltime|log.Lshortfile) Error = log.New(os.Stdout, "[ERROR]\t", log.Ldate|log.Ltime|log.Lshortfile) } else if level == 2 { Trace = log.New(ioutil.Discard, "[TRACE]\t", log.Ldate|log.Ltime|log.Lshortfile) Info = log.New(ioutil.Discard, "[INFO]\t", log.Ldate|log.Ltime|log.Lshortfile) Warning = log.New(os.Stdout, "[WARNING]\t", log.Ldate|log.Ltime|log.Lshortfile) Error = log.New(os.Stdout, "[ERROR]\t", log.Ldate|log.Ltime|log.Lshortfile) } else if level == 3 { Trace = log.New(os.Stdout, "[TRACE]\t", log.Ldate|log.Ltime|log.Lshortfile) Info = log.New(ioutil.Discard, "[INFO]\t", log.Ldate|log.Ltime|log.Lshortfile) Warning = log.New(os.Stdout, "[WARNING]\t", log.Ldate|log.Ltime|log.Lshortfile) Error = log.New(os.Stdout, "[ERROR]\t", log.Ldate|log.Ltime|log.Lshortfile) } else { Trace = log.New(os.Stdout, "[TRACE]\t", log.Ldate|log.Ltime|log.Lshortfile) Info = log.New(os.Stdout, "[INFO]\t", log.Ldate|log.Ltime|log.Lshortfile) Warning = log.New(os.Stdout, "[WARNING]\t", log.Ldate|log.Ltime|log.Lshortfile) Error = log.New(os.Stdout, "[ERROR]\t", log.Ldate|log.Ltime|log.Lshortfile) }}
1 回答

蕪湖不蕪
TA貢獻1796條經驗 獲得超7個贊
測試不確保misc.InitSimpleLogger(4)
在依賴此函數調用的副作用的測試之前執行。將調用移至函數init()
以確保它在測試之前執行。改變
func TestFTPGetFilesFromServer(t *testing.T) { misc.InitLogger(4) }
到
func init() { misc.InitLogger(4) }
- 1 回答
- 0 關注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消