4
目前我正在嘗試寫Go的TDD。然而,我堅持以下。如何驗證在Golang中是否調用特定函數
測試寫:
func TestFeatureStart(t *testing.T){
}
執行測試:
func (f *Feature) Start() error {
cmd := exec.Command(f.Cmd)
cmd.Start()
}
一個將如何測試這個簡單的位。我想我只是想驗證exec庫是否正確說出。 (我會在Java中使用Mockito的方式)。任何人都可以幫我寫這個測試,因爲我不太確定互聯網上現有的答案是什麼意思。他們建議使用接口。
當前Feature-struct只包含一個字符串Cmd。
這對我來說很有意義,謝謝。 我可以創建接口,但是我怎麼想象如果我想要模擬方法,就爲我的所有結構創建一個接口;因爲如何用界面解決這種情況? – Patrick
接口方法可以很好地適用於已經是接口('io.Reader','json.Unmarshaler'等)的東西,或者可以成爲接口,因爲它們只有一個或兩個方法。 –
如果從其他軟件包進行測試,這將不起作用; main_test包,例如。 –