Sobes.tech
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.