Zum Inhalt springen
_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Testování mikroslužeb — strategie a nástroje

20. 04. 2016 1 Min. Lesezeit CORE SYSTEMSai
Testování mikroslužeb — strategie a nástroje

V monolitu je testování relativně přímočaré — jeden deployment, jedna databáze. V mikroslužbách testujete distribuovaný systém. Jak zajistit, že služby spolu fungují, bez toho abyste všechno spouštěli najednou?

Testing Pyramid

Unit testy (základ): Business logika, doménové objekty. Rychlé, izolované. Integration testy (střed): Služba + databáze, služba + message broker. Contract testy: Ověření, že API kontrakt mezi službami platí. End-to-end (špička): Celý systém. Pomalé, křehké — minimum.

Consumer-Driven Contract Testing

Služba A (consumer) definuje, co očekává od služby B (provider). Kontrakt se ověřuje na obou stranách nezávisle. Pact framework:

// Consumer test (service A)
@Pact(consumer = "OrderService", provider = "UserService")
public RequestResponsePact userDetailsPact(PactDslWithProvider builder) {
    return builder
        .given("user 123 exists")
        .uponReceiving("get user details")
        .path("/api/users/123")
        .method("GET")
        .willRespondWith()
        .status(200)
        .body(new PactDslJsonBody()
            .integerType("id", 123)
            .stringType("name", "Jan Novák"))
        .toPact();
}

Integration testy s Testcontainers

Testcontainers spouští Docker kontejnery v testech — reálný PostgreSQL, Redis, RabbitMQ. Žádné mocky databáze, žádné in-memory náhrady. Pomalší, ale ověřujete reálné chování.

E2E: minimálně, ale mít

Happy path scénáře — uživatel se přihlásí, vytvoří objednávku, zaplatí. Smoke testy po deployi. Nepokrývat edge cases E2E testy — to je úkol pro unit a contract testy.

Test pyramid, ne test ice cream

Hodně unit testů, méně integration, minimum E2E. Contract testy jsou klíčová inovace pro mikroslužby — ověřují kompatibilitu bez spouštění celého systému.

awsqaec2s3
Teilen:

CORE SYSTEMS

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns