Eğer "mockserver" diye arattıysanız, iki şeyi kastediyor olabilirsiniz: genel olarak bir mock server yaklaşımı veya mock-server.com üzerindeki Java tabanlı açık kaynak MockServer projesi. Bu rehber, ikinci seçenek olan MockServer'ı nasıl değerlendireceğinizi, nerede zorlanabileceğinizi ve daha hızlı API sanallaştırması için hangi alternatifleri kullanabileceğinizi özetler. Sadece hızlıca bir uç noktayı sanallaştırmak istiyorsanız Apidog'u indirebilirsiniz. Mock API kavramına yeniyseniz önce mock API'nin ne olduğunu açıklayan yazımıza bakabilirsiniz.
MockServer projesi nedir?
MockServer, test ortamları için kullanılan bir HTTP(S) mock server ve proxy aracıdır. Temel çalışma modeli şöyledir:
- Gelen isteği eşleştirecek bir expectation tanımlarsınız.
- MockServer bu isteği yakalar.
- Önceden tanımlı yanıtı döndürür, isteği proxy'ler, callback çalıştırır veya hata enjekte eder.
MockServer şu şekillerde çalıştırılabilir:
- bağımsız süreç olarak,
- Docker container içinde,
- Maven eklentisiyle,
- JVM testlerine gömülü olarak.
MockServer özellikle entegrasyon testlerinde güçlüdür. İstek eşleştirme, mock response döndürme, gerçek trafiği proxy üzerinden yönlendirme, canlı trafiği kaydedip Java veya JSON expectation olarak tekrar oynatma gibi yetenekler sunar.
Ayrıca HTTP/1.1, HTTP/2, gRPC, WebSockets ve TCP desteği vardır. Gecikme ekleme, bağlantı kesme gibi hata senaryolarıyla dayanıklılık testleri de yapılabilir. Java, JavaScript, Python ve Ruby istemcileri bulunur; JUnit ve Spring entegrasyonları da mevcuttur. Proje GitHub üzerinde açık kaynaktır.
Kısacası MockServer, JVM tabanlı test yaşam döngüsünde programlanabilir mock ve proxy davranışı gerektiğinde güçlü bir seçenektir.
MockServer nerede zorlaşır?
MockServer'ın esnekliği, bazı ekipler için operasyonel maliyete dönüşebilir.
1. Java veya Docker bağımlılığı
MockServer 6.x, Java 17+ gerektirir. JVM dışı bir stack kullanıyorsanız birkaç mock endpoint için Java runtime veya Docker container yönetmeniz gerekir.
Özellikle frontend ve QA ekipleri için bu ek yük pratik olmayabilir.
2. Expectation DSL tekrarı
Her mock response için JSON veya kod tabanlı expectation yazarsınız. Basit örnekler kolaydır; ancak gerçekçi response yapıları büyüdükçe yapılandırma uzar.
Örneğin tipik bir expectation mantığı şöyle görünür:
{
"httpRequest": {
"method": "GET",
"path": "/users/123"
},
"httpResponse": {
"statusCode": 200,
"body": {
"id": 123,
"email": "user@example.com",
"created_at": "2026-06-01T10:00:00Z"
}
}
}
Birkaç endpoint için sorun değildir. Ancak çok sayıda durum kodu, dinamik ID, farklı kullanıcı rolleri veya hata senaryosu gerektiğinde bakım maliyeti artar.
3. Görsel tasarım katmanı yok
Mock response tasarlamak, senaryoları gözden geçirmek veya ekip arkadaşlarıyla paylaşmak için yerleşik bir GUI yoktur. Yapılandırma dosyaları, restart döngüsü ve log okuma ana iş akışınız olur.
4. Veri varsayılan olarak statiktir
MockServer yazdığınız veriyi döndürür. Gerçekçi ve değişken test verisi üretmek için ek kod veya harici kütüphane gerekir.
Bu noktalar MockServer'ı kötü yapmaz; onu daha çok JVM odaklı, uzmanlaşmış bir test aracı haline getirir. Daha görsel, şema odaklı veya ekip paylaşımına uygun bir süreç istiyorsanız alternatifleri değerlendirmek mantıklıdır.
2026'daki en iyi MockServer alternatifleri
1. Apidog
Apidog, API tasarımı, dokümantasyonu, testi ve mock server kullanımını tek çalışma alanında birleştiren bir API platformudur.
MockServer'dan farklı olarak Java runtime veya expectation DSL yazmanız gerekmez. OpenAPI şemanızı içe aktarabilir ya da endpoint'leri görsel olarak oluşturabilirsiniz. Ardından Apidog, çalışan bir mock endpoint üretir.
Pratik akış:
- OpenAPI dosyanızı içe aktarın veya endpoint oluşturun.
- Request ve response şemalarını tanımlayın.
- Mock URL'yi kullanarak frontend veya test ortamınızı bağlayın.
- Farklı senaryolar için response örnekleri ekleyin.
- API değiştikçe mock, dokümantasyon ve testleri aynı çalışma alanında güncelleyin.
Apidog, alan adlarına ve türlerine göre daha gerçekçi veri üretebilir. Örneğin email alanı e-posta formatında, created_at alanı zaman damgası formatında yanıt döndürebilir. Bu yaklaşım Faker tarzı veri üretimi ile desteklenir.
Apidog'un öne çıktığı noktalar:
- Java runtime gerekmez.
- Mock'lar şemadan üretilebilir.
- GUI üzerinden response tasarlanabilir.
- Bulut veya şirket içi kullanım seçenekleri vardır.
- Mock, test, dokümantasyon ve API tasarımı aynı yerde tutulur.
Şirket içinde dağıtım yaklaşımını karşılaştırmak için şirket içi API mock server rehberine bakabilirsiniz.
Dürüst takas şudur: MockServer, JVM içine gömülü düşük seviyeli entegrasyon testleri için daha ayrıntılı kontrol sağlar. Apidog ise ekip genelinde hızlı mock üretimi, gerçekçi veri ve görsel iş akışı için daha uygundur.
2. WireMock
WireMock, JVM tabanlı mock server ekosistemindeki en güçlü alternatiflerden biridir. MockServer gibi istek eşleştirme, stub tanımlama, kayıt ve tekrar oynatma özellikleri sunar.
WireMock şu durumlarda uygundur:
- Java tabanlı test altyapınız varsa,
- mock server'ı test lifecycle içinde başlatmak istiyorsanız,
- kayıt/tekrar oynatma akışı önemliyse,
- MockServer'a benzer ama farklı API'ye sahip bir JVM aracı arıyorsanız.
Benzer sınırlamalar da vardır: Java merkezlidir, yapılandırma yoğun olabilir ve açık kaynak sürümünde tam kapsamlı görsel API tasarım deneyimi beklememek gerekir.
Daha fazla seçenek için WireMock alternatifleri rehberine bakabilirsiniz.
3. Mockoon
Mockoon, hızlı lokal mock API oluşturmak için kullanılan ücretsiz ve açık kaynaklı bir masaüstü uygulamasıdır.
Pratik kullanım senaryosu:
- Mockoon'u açın.
- Yeni environment oluşturun.
- Route ekleyin.
- Method, path ve response body tanımlayın.
- Lokal mock server'ı başlatın.
Frontend geliştiricileri için hızlıdır çünkü kod yazmadan ve runtime kurmadan local mock endpoint oluşturabilirsiniz.
Sınırı ise daha çok ekip ve platform kapsamındadır. Mockoon bireysel ve lokal kullanımda güçlüdür; API tasarımı, test, dokümantasyon ve ekip paylaşımı gibi daha geniş yaşam döngüsü ihtiyaçlarında tam platform araçları daha uygun olabilir.
Detaylı karşılaştırma için Mockoon alternatifleri karşılaştırmasına göz atabilirsiniz.
4. Prism
Prism, OpenAPI dosyanızdan doğrudan mock server çalıştıran açık kaynaklı bir CLI aracıdır.
Tipik kullanım modeli:
prism mock openapi.yaml
Bu yaklaşım, OpenAPI spesifikasyonunu doğruluk kaynağı olarak kullanan ekipler için uygundur. Mock response'lar şemayla hizalı kalır ve sözleşme odaklı geliştirme sürecini destekler.
Bu konuda daha fazla örnek için şema-öncelikli mock server iş akışı rehberine bakabilirsiniz.
Prism'in sınırı, CLI odaklı olmasıdır. Görsel API tasarımı, test yönetimi veya dokümantasyon yaşam döngüsü yerine spesifikasyondan mock üretmeye odaklanır.
5. Beeceptor
Beeceptor, kurulum gerektirmeyen, tarayıcı tabanlı bir mock endpoint servisidir.
Şu durumlarda kullanışlıdır:
- hızlı demo hazırlamak,
- webhook request'lerini yakalamak,
- geçici endpoint paylaşmak,
- lokal kurulumla uğraşmadan test yapmak.
Sınırı bulut tabanlı olmasıdır. Ücretsiz katmanlarda istek hacmi sınırlanabilir ve offline ya da air-gapped ortamlar için uygun değildir.
Daha hafif seçenekleri karşılaştırmak isterseniz RESTful API için hafif mock server rehberine bakabilirsiniz.
Hızlı karşılaştırma
| Araç | Kurulum | Görsel GUI | Veri üretimi | Şirket içi | En iyi olduğu durumlar |
|---|---|---|---|---|---|
| MockServer | Java 17+ / Docker | Hayır | Manuel | Evet | JVM/CI entegrasyon testleri |
| Apidog | Masaüstü uygulaması, çalışma zamanı yok | Evet | Akıllı / Faker | Bulut + şirket içi | Tasarım + sanallaştırma + test isteyen ekipler |
| WireMock | Java / Docker | Sınırlı | Manuel | Evet | Kayıt-oynatma isteyen JVM ekipleri |
| Mockoon | Masaüstü uygulaması | Evet | Şablonlama | Yerel | Tek başına ön uç geliştiriciler |
| Prism | Node CLI | Hayır | OpenAPI'den | Evet | Şema-öncelikli sanallaştırma |
| Beeceptor | Tarayıcı, barındırılan | Evet | Şablonlama | Hayır (bulut) | Hızlı demolar ve webhook'lar |
Daha geniş bir karşılaştırma istiyorsanız çevrimiçi API mock araçları karşılaştırması birçok aracı yan yana listeler.
Hangi aracı seçmelisiniz?
Kararı özellik listesinden çok mevcut kısıtlarınıza göre verin.
MockServer veya WireMock seçin, eğer:
- Java/JVM stack kullanıyorsanız,
- JUnit veya Spring testlerinin içinde mock server çalıştırıyorsanız,
- programlanabilir expectation mantığına ihtiyacınız varsa,
- proxy, kayıt ve tekrar oynatma senaryoları kritikse.
Apidog seçin, eğer:
- Java runtime yönetmek istemiyorsanız,
- OpenAPI şemasından hızlı mock üretmek istiyorsanız,
- ekip arkadaşlarınızla mock endpoint paylaşmanız gerekiyorsa,
- mock, test ve dokümantasyonun senkron kalmasını istiyorsanız,
- gerçekçi test verisine GUI üzerinden ulaşmak istiyorsanız.
Mockoon seçin, eğer:
- lokal ve ücretsiz bir masaüstü uygulaması istiyorsanız,
- tek başınıza frontend geliştiriyorsanız,
- birkaç endpoint'i hızlıca simüle etmeniz gerekiyorsa.
Prism seçin, eğer:
- OpenAPI spesifikasyonunuz ana sözleşmeyse,
- CLI tabanlı bir mock server sizin için yeterliyse,
- mock response'ların şemaya bağlı kalmasını istiyorsanız.
Beeceptor seçin, eğer:
- 30 saniyede geçici endpoint oluşturmanız gerekiyorsa,
- webhook test ediyorsanız,
- kurulum yapmadan tarayıcı üzerinden ilerlemek istiyorsanız.
En önemli karar şudur: Sadece mock server mı istiyorsunuz, yoksa mock'ların API tasarımı, testleri ve dokümantasyonla aynı doğruluk kaynağında kalmasını mı istiyorsunuz? Endpoint'ler sık değişiyorsa ikinci yaklaşım genellikle daha az bakım maliyeti çıkarır.
Sıkça sorulan sorular
MockServer ücretsiz mi?
Evet. MockServer açık kaynaklıdır ve kendi kendine barındırması ücretsizdir. Asıl maliyet operasyoneldir: Java 17+ runtime veya Docker container yönetmeniz, ayrıca expectation dosyalarını elle yazmanız gerekir.
Apidog gibi araçlar da ücretsiz katman sunar; fark, kod tabanlı yapılandırma yerine GUI ve şema odaklı mock üretimi sağlamasıdır.
MockServer ile Apidog arasındaki temel fark nedir?
MockServer, kod veya JSON expectation'larıyla yapılandırılan Java tabanlı bir mock server ve proxy aracıdır. JVM testlerine gömülmek için uygundur.
Apidog ise OpenAPI şemanızdan veya görsel arayüzden mock endpoint üretir. Runtime bağımlılığı olmadan mock, test ve dokümantasyon süreçlerini aynı çalışma alanında tutar.
Benzer GUI ve yapılandırma farkını başka bir araç üzerinden görmek için Postman vs Apidog mock server karşılaştırmasına bakabilirsiniz.
Java yazmadan API mock'layabilir miyim?
Evet. MockServer JVM gerektirir, ancak her araç böyle değildir.
- Apidog GUI ve şema odaklı çalışır.
- Mockoon masaüstü uygulaması olarak çalışır.
- Prism OpenAPI dosyasından CLI ile mock üretir.
- Beeceptor tarayıcı tabanlıdır.
Java bağımlılığından kaçınmak istiyorsanız bu seçeneklerden biri daha pratik olabilir.
MockServer OpenAPI destekliyor mu?
MockServer, expectation'ları bir OpenAPI spesifikasyonundan başlatabilir. Bu sayede spesifikasyon üzerinden mock yapılandırması üretilebilir.
Ancak OpenAPI'yi birincil doğruluk kaynağı olarak ele alan ve mock response'ları otomatik olarak şemaya hizalamaya odaklanan Prism veya Apidog gibi araçlar bu konuda daha şema merkezli bir iş akışı sunar.
Sonuç
MockServer, Java ve CI odaklı entegrasyon testlerinde güçlü bir mock server ve proxy aracıdır. Programlanabilir expectation'lar, trafik kaydı ve JVM içine gömülebilme özellikleri onu ciddi test senaryoları için değerli kılar.
Ancak Java bağımlılığı, expectation DSL bakımı ve görsel/şema odaklı katmanın eksikliği her ekip için uygun olmayabilir.
Özet seçim:
- JVM içinde kalacaksanız: MockServer veya WireMock.
- Lokal ve basit mock istiyorsanız: Mockoon.
- OpenAPI sözleşmesini temel alıyorsanız: Prism.
- Hızlı, geçici ve bulut tabanlı endpoint istiyorsanız: Beeceptor.
- Tasarım, test, dokümantasyon ve mock sürecini tek yerde yönetmek istiyorsanız: Apidog.
Mock server bakımını azaltmak istiyorsanız API şemanızı doğruluk kaynağı yapın. Böylece mock response'lar, testler ve dokümantasyon aynı API tanımı etrafında güncel kalır.






Top comments (0)