Skip to content

Testing in Martini Designer

Overview

Testing lets you verify that your Martini packages behave as expected before you deploy them, catching regressions early instead of discovering them in production. Martini Designer supports two complementary test types: workflow tests, which validate a workflow's logic by invoking it with sample input and asserting on its output, and HTTP request integration tests, which validate a saved HTTP request against a live endpoint using a test script. Both test types are discovered, run, and reviewed from a single view — Test Explorer — so you can build a suite of tests alongside your workflows and APIs and check their status without leaving Martini Designer.

What You Will Learn

  • Where to find Test Explorer and how its test tree is organized
  • What each toolbar action does
  • How to run or locate a single test or an entire directory of tests
  • When Test Explorer refreshes automatically
  • How passing, failed, skipped, and in-progress tests are decorated in the tree

Opening Test Explorer

Test Explorer lives on the right side menu bar of Martini Designer by default, identified by a beaker icon. Click it to open the view.

Inside the view, tests are organized in a single tree with two root nodes:

Root Node Contains
Unit Tests Workflow tests — files following the ...Test.workflow naming contract, found in the code directories of your Martini packages
HTTP Request Tests HTTP request integration tests — files following the ...Test.request naming contract, saved in the workspace (user-scoped requests, available across all workspaces, are not included)

Under each root node, tests are grouped by the directory where they are saved. Expand a directory node to drill down into subdirectories until you reach individual tests. This lets you scan the available tests or narrow in on the tests for a specific feature without leaving the view.

Test Explorer Toolbar

The toolbar at the top of Test Explorer gives you workspace-wide control over test discovery and execution:

Action Description
Refresh Tests Triggers a rescan of the workspace for available tests. Use this if you believe the tree is out of sync with the tests on disk.
Run All Runs every available test in the workspace, across both the Unit Tests and HTTP Request Tests root nodes.
Cancel All Test Runs Cancels all test runs currently in progress.
Toggle Test Results Shows or hides the Test Results view, which reports the outcome of your test runs.

Running and Locating Tests from the Tree

Hover over any directory or test item in the tree to reveal two inline actions:

  • Run Test — On a directory, collects and runs every test in that directory and its subdirectories. On an individual test, runs just that test.
  • Go to Test — On a directory, reveals and selects that directory in the Navigator (for a directory under Unit Tests) or the HTTP Client view (for a directory under HTTP Request Tests). On an individual test, opens the test file itself — the workflow file in the Navigator for a unit test, or the request in the HTTP Client view for an HTTP request test.

Use Run Test when you want to check a specific feature or directory without running the full workspace, and Go to Test when you want to inspect or edit the test itself. For the full set of run scopes (including package- and workspace-level runs) and how to read the results, see Running Tests & Test Results.

Automatic Test Discovery

Test Explorer keeps its tree in sync with your workspace without requiring a manual refresh. It automatically rescans and updates when:

  • Test files are added, deleted, or moved.
  • A Martini package is started or loaded.
  • A Martini package is unloaded.
  • A Martini package is imported.

If you make changes outside of these triggers and the tree looks out of date, use Refresh Tests from the toolbar to force a rescan.

Test Result Decoration

After a run, Test Explorer decorates each affected tree item with an icon that reflects its outcome: passing, failed, or skipped. While a run is still in progress, affected items show an in-progress icon instead.

Directory decoration rolls up from its contents: if any test nested under a directory — at any depth — failed, the directory itself is marked as failed rather than passing. This lets you spot a failure without expanding every subdirectory.

Keep these rules in mind when reading decoration:

  • Decoration always reflects only the latest test run. A test that wasn't included in that run keeps its default (unrun) icon, even if it passed or failed on a previous run.
  • Test results are not persisted between sessions. Restarting Martini Designer clears all result decoration back to the default icon, regardless of past run outcomes.

For details on the consolidated Test Results view, stack traces, Navigator failure decoration, and the Debug configuration picker, see Running Tests & Test Results.

Helpful Resources