DEV Community

Cover image for Multimeter
Mehrdad Shobeyri
Mehrdad Shobeyri

Posted on

Multimeter

Introduction

In modern software development, teams work with many HTTP and WebSocket services. Having a simple, version-controlled, and Git-friendly testing tool is increasingly important. That’s why I built Multimeter — a Visual Studio Code extension that allows you to write service tests as files in your Git repository, track changes, view results, and integrate into CI pipelines.

Check it out on GitHub: https://github.com/mshobeyri/multimeter

Why this project?

Many tools (E.g., Postman) are excellent, but often tests reside outside of the Git repository.
With Multimeter, your tests become part of your codebase: versioned, branched, diffed.
Goal: simplicity + integration for service-centric teams working in VS Code with HTTP & WebSocket endpoints.
Writing tests can be easily outsourced to AI.

Features & Architecture

Runs in VS Code: Webview UI for creating/editing tests.
Defines a DSL (e.g., .mmt files) for test definitions in YAML.
Stored in Git repository → full change history, branching, pull requests.
Supports CI workflows: run tests and view results on merge/push.
Supports both HTTP and WebSocket endpoints, making it well-suited for modern microservices.
Auto-generate documents based on API specification.

Getting Started

Install the Multimeter VS Code extension (or load it locally).
Create your first test scenario: for example, “Register → Login → Fetch Data”.
Run the test and inspect results directly in VS Code.
Add tests to your repository. Commit them, open a pull request, review failures/changes.
Challenges & What I Learned:

Designing a DSL that’s expressive yet simple was harder than expected.
Making Git integration seamless: showing diffs of test results/expectations and accommodating branches.
UX in VS Code Webview: blending native feel, theming, performance.
Building a community necessitates good docs, onboarding, and example scenarios.

How You Can Help

⭐ Give the GitHub repository a star — it helps visibility.
If you’d like a new feature or found a bug, open an issue or submit a pull request.
Share this article with your team or community if you work with API/WebSocket testing.
If you use Multimeter, drop a comment in the repository with your scenario — your example could be featured.

What’s Next

Planned features include: support for other protocols (gRPC, GraphQL), richer visual reports, Support for load testing, and improved CI integrations. If you’re working with service-testing and version control, I hope Multimeter becomes part of your workflow. Let’s build this tool together.

Top comments (0)