Uczę się Golangu - w ramach ćwiczeń, piszę sobie skrypt do generowania jarów w Javie. Mam metodę, która w argumentci przyjmuje ścieżkę do pliku, otwiera plik z propertiesami i zwraca jakąś tam wartość która się w nim znajduje.
func (reader *Reader) Read(projectPath string) (string, error) {
filename := projectPath + "/" + ENV_FILE_NAME
file, err := os.Open(filename)
if err != nil {
return "", errors.Read{Path: filename}
}
defer file.Close()
profile, err := readProfile(file)
if err != nil {
return "", errors.Jar{Path: projectPath}
} else {
return profile, nil
}
}
Jak teraz zmockować os.Open
żeby zwróciło mi zmockowany obiekt? Wiem jak stowrzyć zmockowany obiekt, natomiast nie wiem jak go przekazać żeby został on zwrócony przez os.Open
. Podobną sytuację mam gdy np. chcę zmokować exec.Command
.