Back to questions
СБЕР
Middle
3
Как тестировали сервис? Как разворачивали в Kubernetes?
Companies where asked
Answer from AI
sobes.tech AI
Для тестирования сервиса на Go обычно использую модульное тестирование с пакетом testing. Пишу тесты для ключевых функций, покрывая разные сценарии, включая граничные случаи и ошибки. Для интеграционного тестирования можно поднять тестовую среду с помощью Docker Compose или использовать мок-сервисы.
Для развёртывания в Kubernetes создаю манифесты Deployment и Service, описывающие контейнер с сервисом, количество реплик, настройки ресурсов и порты. Использую ConfigMap и Secret для конфигураций и секретов. Развёртывание выполняю через kubectl apply -f или с помощью Helm-чартов для более сложных конфигураций.
Пример простого Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-go-service
spec:
replicas: 3
selector:
matchLabels:
app: my-go-service
template:
metadata:
labels:
app: my-go-service
spec:
containers:
- name: my-go-service
image: myregistry/my-go-service:latest
ports:
- containerPort: 8080
Тесты в Go:
func TestCalculate(t *testing.T) {
result := Calculate(2, 3)
if result != 5 {
t.Errorf("Expected 5, got %d", result)
}
}