service-virtualization

Determine test dependency isolation strategies across MSW, WireMock, Testcontainers, and Toxiproxy.

64|12|Updated Mar 23, 2026
One-click install
npx skills add https://github.com/petrkindlmann/qa-skills --skill service-virtualization
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: service-virtualization
Source: https://github.com/petrkindlmann/qa-skills/tree/main/skills/service-virtualization
Command: npx skills add https://github.com/petrkindlmann/qa-skills --skill service-virtualization

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Provides a structured approach to decide when to mock, stub, record-replay, or deploy ephemeral real services to isolate dependencies in tests, improving speed and reliability.

Core Features & Use Cases

  • Decision framework to select the right isolation strategy for each dependency (internal services, external APIs, databases, caches).
  • Guidance on tools like MSW, WireMock, Toxiproxy, and Testcontainers, plus contract-testing integration.
  • Best practices for environment setup, reproducibility, and dependency management in CI pipelines.

Quick Start

Identify your project dependencies and apply the recommended isolation strategy for each.

Frequently Asked Questions about service-virtualization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is the best way to isolate test dependencies for external APIs and databases?

The best way to isolate test dependencies is applying a decision framework that determines whether to mock, stub, record-replay, or run ephemeral real services. This approach ensures fast and reliable tests by selecting the right isolation strategy for each specific dependency type.

How do I choose between WireMock and Testcontainers for integration testing?

Choose between WireMock and Testcontainers by evaluating whether your integration testing scenario needs simulated API responses or ephemeral real services. The framework provides rules for when to use mock servers versus when to run actual lightweight containers for local testing environments.

When do I need network fault simulation with Toxiproxy instead of standard mocking?

You need Toxiproxy for network fault simulation instead of standard mocking when testing how applications handle unreliable network conditions. It encodes rules for when to introduce network latency and failures, complementing basic stubs by validating resilience against connection drops and timeouts.

Does this guidance cover setting up dependency mocking for CI pipelines?

Yes, this guidance covers setting up dependency mocking for CI pipelines by providing best practices for environment setup and reproducibility. It ensures consistent dependency management across local containers, mock servers, and staging-like environments throughout your continuous integration workflow.

Can I use MSW for isolating internal service dependencies in end-to-end tests?

Yes, you can use MSW for isolating internal service dependencies in end-to-end tests. The framework evaluates unit, integration, and end-to-end scenarios across mock servers and staging-like environments to determine if MSW fits your specific test architecture requirements.

Why should I use contract testing instead of deploying real services for test isolation?

You should use contract testing instead of deploying real services when you need fast feedback without the overhead of spinning up ephemeral environments. The framework integrates contract-testing to verify service interactions efficiently, balancing speed and reliability against full end-to-end deployments.