Junior — Middle
Mock testleri oluşturmak için hangi araçlar ve programlama dilleri kullanıldı?
sobes.tech yapay zeka
AI'dan gelen yanıt
Mock testleri oluşturmak için genellikle bağımlılıkların ve dış servislerin davranışlarını taklit etmeye olanak tanıyan özel kütüphaneler ve araçlar kullanılır. Programlama diline bağlı olarak popüler seçenekler şunlardır:
- JavaScript/TypeScript: Jest, Sinon.js — mocklar, stublar ve spy'ler oluşturmayı sağlar.
- Java: Mockito, EasyMock — mock nesneleri oluşturmak için yaygın olarak kullanılır.
- Python: unittest.mock, pytest-mock — yerleşik ve üçüncü taraf kütüphaneler.
- Go: gomock, testify/mock — mockların oluşturulması ve kullanımı için araçlar.
Testify/mock kullanımıyla Go örneği:
import (
"testing"
"github.com/stretchr/testify/mock"
)
// Mock'lanacak arayüz
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Mock yapı
type MockUserRepository struct {
mock.Mock
}
func (m *MockUserRepository) GetUser(id int) (*User, error) {
args := m.Called(id)
return args.Get(0).(*User), args.Error(1)
}
func TestGetUser(t *testing.T) {
mockRepo := new(MockUserRepository)
mockUser := &User{ID: 1, Name: "John"}
mockRepo.On("GetUser", 1).Return(mockUser, nil)
user, err := mockRepo.GetUser(1)
if err != nil || user.Name != "John" {
t.Fail()
}
mockRepo.AssertExpectations(t)
}
Bu şekilde, araç seçimi kullanılan dile ve proje gereksinimlerine bağlıdır.