```html
Kendini bir React projesinin ortasında, her seferinde gerçek sunucuya dokunmadan API çağrılarını nasıl test edeceğini merak ederken buldun mu? Eğer bulduysan, doğru yerdesin. Bugün, React mock API dünyasına Axios ile derinlemesine dalıyoruz. İster deneyimli bir geliştirici ol, ister yeni başlıyor ol, bu rehber bilmeniz gereken her şeyi size anlatacak.
API Testi Nedir?
API testi, doğrudan uygulama programlama arayüzlerini (API'ler) test etmeyi içeren bir yazılım test türüdür. API'lerin işlevselliğini, güvenilirliğini, performansını ve güvenliğini kontrol eder. Daha basit bir ifadeyle, uygulamanızın diğer sistemler, hizmetler veya uygulamalarla doğru bir şekilde iletişim kurmasını sağlamakla ilgilidir.
API Testi Neden Önemlidir?
API'ler modern web uygulamalarının bel kemiğidir. Farklı sistemlerin sorunsuz bir şekilde etkileşim kurmasını sağlarlar. Sağlam API testi olmadan, kötü bir kullanıcı deneyimine, veri ihlallerine ve sistem arızalarına yol açabilecek hatalı etkileşimler riskiyle karşı karşıya kalırsınız.
React'te Axios'u Anlamak
React ile çalışıyorsanız, muhtemelen Axios'u duymuşsunuzdur. JavaScript için promise tabanlı bir HTTP istemcisidir ve REST uç noktalarına asenkron HTTP istekleri göndermeyi kolaylaştırır.
Axios'un Temel Özellikleri:
- Kullanımı kolay: Basit ve sezgisel bir API ile.
- Promises'i Destekler: Asenkron istekleri yönetmek için mükemmel hale getirir.
- Interceptor'lar: İstekleri ve yanıtları dönüştürmenize olanak tanır.
- İptal: İstekleri kolayca iptal edin.
Neden Mock API'ler Esastır?
Mock API'ler geliştirme ve test etmede çok önemli bir rol oynar. Gerçek sunucuya dokunmadan API'nizden gelen yanıtları simüle etmenize olanak tanırlar. Bu, ön ucu arka uçtan bağımsız olarak geliştirebileceğiniz ve test edebileceğiniz anlamına gelir.
Mock API'lerin Faydaları:
- Hız: API yanıtlarını bekleyerek harcanan süreyi azaltın.
- İzolasyon: Arka uç bağımlılıkları olmadan ön uç mantığını test edin.
- Tutarlılık: Öngörülebilir testler için tutarlı yanıtlar sağlayın.
Bir React Projesinde Axios'u Kurmak
Ellerimizi kirletelim ve bir React projesinde Axios'u kuralım. Henüz bir React projeniz yoksa, Create React App kullanarak bir tane oluşturun.
npx create-react-app my-app
cd my-app
npm install axios
Şimdi, API çağrılarımızı işlemek için bir hizmet oluşturalım. src
dizininde yeni bir dosya olan apiService.js
dosyasını oluşturun:
import axios from 'axios';
const apiService = axios.create({
baseURL: 'https://api.example.com',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
export default apiService;
Axios ile Mock API Oluşturma
Axios'ta API yanıtlarını taklit etmek basittir. Axios isteklerini taklit etmek için basit bir kütüphane olan axios-mock-adapter
kullanacağız.
axios-mock-adapter
'ı yükleyin:
npm install axios-mock-adapter
Şimdi, mock API'mizi oluşturalım. src
içinde, yeni bir dosya olan mockApi.js
dosyasını oluşturun:
import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';
// This sets the mock adapter on the default instance
const mock = new MockAdapter(axios);
// Mock any GET request to /users
// arguments for reply are (status, data, headers)
mock.onGet('/users').reply(200, {
users: [{ id: 1, name: 'John Smith' }]
});
// Mock any POST request to /login
// arguments for reply are (status, data, headers)
mock.onPost('/login').reply(200, {
user: { id: 1, name: 'John Smith' },
token: 'abcd1234'
});
Mock API kurulduktan sonra, bileşenlerinizi gerçek sunucuya dokunmadan test edebilirsiniz.
Gelişmiş API Testi için Apidog'u Entegre Etme
Apidog , API test yeteneklerinizi geliştiren güçlü bir araçtır. API'leri tek bir yerde tasarlamanıza, test etmenize ve taklit etmenize olanak tanır. İşte Apidog'u React projenizle nasıl entegre edeceğiniz.
API'nizi Apidog ile test etmek için şu adımları izlemeniz gerekir:
Adım 1: Apidog'u açın ve yeni bir istek oluşturun.

Adım 2: Test düzenleyicisinde, API uç noktanızın URL'sini girin, HTTP yöntemini seçin ve ihtiyacınız olan tüm başlıkları, parametreleri veya gövde verilerini ekleyin. Örneğin, daha önce oluşturduğumuz basit bir mesaj döndüren rotayı test edebilirsiniz:

Adım 3: Gönder düğmesine tıklayın ve testinizin sonucunu görün. Durum kodunu, yanıt süresini ve API'nizin yanıt gövdesini görmelisiniz. Örneğin, buna benzer bir şey görmelisiniz:

Apidog, API'lerinizi test etmek için harika bir araçtır, çünkü web hizmetlerinizin kalitesini, güvenilirliğini ve performansını sağlamanıza yardımcı olur. Ayrıca, API'lerinizi test etmek için herhangi bir kod yazmanıza veya herhangi bir yazılım yüklemenize gerek olmadığından, size zaman ve çaba kazandırır. Sadece tarayıcınızı kullanabilir ve Apidog'un kullanıcı dostu arayüzünün ve özelliklerinin keyfini çıkarabilirsiniz.
Apidog ile Mock API'lerde Uzmanlaşmak İçin Adım Adım Kılavuz
Adım 1. Yeni Bir Proje Oluşturun: Apidog, API'leri yönetmek için projeleri kullanır. Bir proje altında birden fazla API oluşturabilirsiniz. Her API bir projeye ait olmalıdır. Yeni bir proje oluşturmak için, Apidog uygulamasının ana sayfasının sağ tarafındaki "Yeni Proje" düğmesine tıklayın.
Adım 2. Yeni Bir API Oluşturun: Kullanıcı ayrıntıları için bir API oluşturmayı göstermek için şu adımları izleyin:
- İstek yöntemi: GET.
- URL: api/user/{id}, burada {id} kullanıcı kimliğini temsil eden parametredir.
- Yanıt türü: json.
- Yanıt içeriği:
{
id: number, // user id
name: string, // username
gender: 1 | 2, // gender: 1 for male, 2 for female
phone: string, // phone number
avatar: string, // avatar image address
}
Yeni bir arayüz oluşturmak için, daha önce oluşturulan projenin ana sayfasına gidin ve sol taraftaki "+" düğmesine tıklayın.
İlgili arayüz bilgilerini doldurun ve kaydedin.


Bununla, kullanıcı ayrıntı arayüzü oluşturuldu. Bu arada, Apidog, yanıt alanlarının biçimine ve türüne göre bizim için otomatik olarak bir mock oluşturdu. Mock yanıtını görüntülemek için Mock altındaki "İstek" düğmesine tıklayın.

Mock yanıtına bir göz atalım. "İstek" düğmesine tıklayın ve ardından açılan sayfada "Gönder"e tıklayın.

Adım 3. Mock Eşleşme Kurallarını Ayarlayın: Sihirli bir şey fark ettiniz mi? Apidog, "name" alanını dize türüne ayarladı, ancak adları döndürüyor; "phone" alanını dize türüne ayarladı, ancak telefon numaralarını döndürüyor; "avatar" alanını dize türüne ayarladı, ancak resim adreslerini döndürüyor.
Bunun nedeni, Apidog'un Mock için eşleşme kurallarını desteklemesidir. Apidog'un yerleşik kuralları vardır ve kullanıcılar kendi kurallarını da özelleştirebilirler. Bu kurallar Proje Ayarları > Özellik Ayarları > Mock Ayarları'nda bulunabilir.

Ayrıca her alan için özel Mock kuralları da ayarlayabilirsiniz. Alanın yanındaki "Mock"a tıklayın:

Apidog Mock eşleşme kuralları aşağıdaki gibidir:
- Bir alan bir eşleşme kuralını karşıladığında, yanıt Mock kuralını karşılayan rastgele bir değer döndürecektir.
- Bir alan herhangi bir eşleşme kuralını karşılamıyorsa, yanıt alanın veri türünü karşılayan rastgele bir değer döndürecektir.
Üç tür eşleşme kuralı vardır:
- Joker karakterler: * sıfır veya daha fazla karakterle eşleşir ve ? herhangi bir tek karakterle eşleşir. Örneğin, *name kullanıcı adı, ad vb. ile eşleşebilir.
- Normal ifadeler.
- Tam eşleşme.
Mock kuralları Mock.js ile tamamen uyumludur ve Mock.js'nin sahip olmadığı bazı sözdizimlerini (ev telefon numaraları gibi "@phone") genişletmiştir. Yaygın olarak kullanılan Mock kuralları şunlardır:
- @integer: tamsayı. @integer(min, max).
- @string: dize. @string(length): dizenin uzunluğunu belirtir.
- @regexp(regexp): normal ifade.
- @url: URL.
Geliştirme sırasında, farklı istek parametrelerine göre özelleştirilmiş içerik döndürmek gibi esnek ve karmaşık Mock senaryolarıyla karşılaşabiliriz. Örneğin, kimlik 1 olduğunda normal kullanıcı bilgilerini döndürün ve kimlik 2 olduğunda bir hata bildirin. Apidog ayrıca bu senaryoları da destekler ve ilgilenenler Gelişmiş Mock belgesini inceleyebilir.
API'leri Taklit Etme İçin En İyi Uygulamalar
API'leri taklit etmek güçlü bir tekniktir, ancak etkili test sağlamak için en iyi uygulamaları izlemek önemlidir.
1. Mock'ları Güncel Tutun
Mock API'lerinizin gerçek API'lerinizdeki en son değişiklikleri yansıttığından emin olun. Bu, tutarsızlıkları önler ve doğru test sağlar.
2. Gerçekçi Veri Kullanın
Gerçek dünya senaryolarını simüle etmek için mock'larınızda gerçekçi veriler kullanın. Bu, üretimde ortaya çıkabilecek sorunları belirlemeye yardımcı olur.
3. Mock Kullanımını Sınırlandırın
Mock'lar test için harika olsa da, yalnızca onlara güvenmeyin. Mock'ların kaçırabileceği sorunları yakalamak için mümkün olduğunda gerçek API'lerle test edin.
Yaygın Tuzakları ve Bunlardan Nasıl Kaçınılır
API'leri taklit etmek, doğru yapılmazsa zorluklar yaratabilir. İşte bazı yaygın tuzaklar ve bunlardan nasıl kaçınılacağı.
1. Aşırı Taklit Etme
Mock'lara çok fazla güvenmek, yanlış bir güvenlik hissi verebilir. Mock testlerini gerçek API'ler kullanan entegrasyon testleriyle dengeleyin.
2. Tutarsız Mock'lar
Kararsız testlerden kaçınmak için mock verilerinizde tutarlılık sağlayın. Tutarlı mock verileri oluşturmak için Apidog gibi araçlar kullanın.
3. Kenar Durumları Göz Ardı Etme
Sadece mutlu yolları test etmeyin. Uygulamanızın hataları zarif bir şekilde ele aldığından emin olmak için kenar durumlarını simüle etmek için mock'ları kullanın.
Sonuç
Bir React projesinde Axios ile API'leri taklit etmek, geliştirme iş akışınızı ve test verimliliğinizi önemli ölçüde artırabilir. Apidog gibi araçları kullanarak, API test sürecinizi kolaylaştırabilir, uygulamanızın sağlam ve güvenilir olmasını sağlayabilirsiniz.
Unutmayın, mock'lar güçlü olsa da, gerçek API'lerle test etmenin yerini almamalı, onu tamamlamalıdır. Mock'larınızı güncel tutun, gerçekçi veriler kullanın ve mock testlerini entegrasyon testleriyle dengeleyin. İyi kodlamalar!
```