Я пытаюсь создать интеграционные тесты для приложения Go, которое отправляет данные о конфигурации, читает файл и загружает этот файл в облачное хранилище Azure.Код для приложения написан, но я не совсем уверен, как бы я создавал интеграционные тесты для него, или если я думаю, что мои интеграционные тесты подходят для этой проблемы.
Я пыталсячтобы создать тесты, которые макетируют соединение с хранилищем данных, но у меня возникают проблемы с пониманием, как бы я вообще поступил так.
main.go:
main (){
//reads in azureConnectionDetails
upload, err := azure.NewUpload(azureConnectionDetails, inChannel, outChannel)
upload.SendFileWhenMessageRecieved()
inChannel <- file
}
azure.go:
NewUpload (azureConnectionDetails, inChannel, outChannel){
ds, err := datastore.ConnectToDataStore(azureConnectionDetails)
return upload{ds}
}
SendFileWhenMessageReceived(){
//Sends the file to outChannel when the file is sent to inChannel
}
datastore.go
ConnectToDataStore(){
//connects to azure
//returns ds
}
Я могу запустить "main", когдаЯ запускаю «go test», но когда программа попадает в ту часть, где она пытается подключиться к Azure, выдает ошибку, поскольку я не предоставляю учетные данные для подключения к реальному экземпляру Azure.Это имеет смысл, конечно, однако я не хочу подключаться к реальному экземпляру.
Есть ли способ, которым я могу смоделировать это соединение с Azure с помощью того, как мой код уже настроен?Что бы мне пришлось изменить?