📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Microservices Microservices Testing

Microservices Testing

6 min read Quiz at the end
Unit, integration, contract (Pact), and service tests — mock external services in unit tests.

Testing Microservices

# 1. Unit tests (fast, no network)
def test_order_total():
    order = Order(items=[Item("book",10.00),Item("pen",2.50)])
    assert order.total() == 12.50

# 2. Integration tests (service + real DB)
def test_create_order(db_session):
    svc   = OrderService(db_session)
    order = svc.create(user_id=1, items=[...])
    assert db_session.get(Order, order.id).status == "pending"

# 3. Contract tests (Pact)
# Consumer defines expected API
# Provider verifies it matches

# 4. Mock external services
import responses
@responses.activate
def test_order_reserves_inventory():
    responses.add(responses.POST,
                  "http://inventory-svc/reserve",
                  json={"reserved":True}, status=200)
    result = order_service.place(user_id=1, items=[...])
    assert result.status == "confirmed"