meteor/meteor/testing

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Use when writing tests, debugging test failures, running the test suite, or setting up test infrastructure. Covers self-test, package tests, and modern E2E tests.

Install

npx vskill@latest install meteor/meteor/testing

SKILL.md

Testing

Test patterns, commands, and utilities for the Meteor codebase.

Test Commands

bash
# CLI self-tests
./meteor self-test # Run all CLI tests
./meteor self-test "test name" # Run specific test
./meteor self-test --list # List available tests
./meteor self-test --exclude "^[a-b]" # Exclude tests by regex
./meteor self-test --retries 0 # Skip retries in development
# Package tests (TinyTest — view results at http://localhost:3000)
./meteor test-packages # Test all core packages
./meteor test-packages mongo # Test specific package
TINYTEST_FILTER="collection" ./meteor test-packages # Filter specific tests
# Package tests in console (headless via Puppeteer — prints results to terminal)
# Use this for automation or when you need terminal output without a browser.
PUPPETEER_DOWNLOAD_PATH=~/.npm/chromium ./packages/test-in-console/run.sh
./packages/test-in-console/run.sh # Test all core packages
./packages/test-in-console/run.sh "mongo" # Test specific package
# E2E tests (Jest + Playwright)
npm run install:e2e # Install dependencies
npm run test:e2e # Run all E2E tests
npm run test:e2e -- -t="React" # Run specific test
# Native mobile smoke tests (Maestro)
npm run install:native # Install deps, verify Maestro CLI on PATH
npm run test:native:android # Run Android smoke flow
npm run test:native:ios # Run iOS smoke flow

E2E Tests (tools/e2e-tests/)

Jest + Playwright suite for verifying bundler integrations (rspack). Tests cover framework skeletons, command modes, routing, top-level await, and build/watch regressions.

Test apps: tools/e2e-tests/apps/. Use dev/modern-tools/rspack/E2E_COVERAGE.md as the authoritative app-to-feature coverage map instead of inferring coverage from fixture names.

Native mobile smoke tests (tools/native-tests/)

Plain Node orchestrator + Maestro YAML flows. Builds a minimal Meteor app for Cordova, installs it on an iOS Simulator or Android emulator, and checks the initial runtime plus a live hot-code-push update. Coverage includes rendering, styles, Cordova APIs and asset paths, DDP, route reloads, and HCP. Runs nightly in CI plus on PRs labeled mobile.

Local prerequisites: Maestro CLI (curl -fsSL https://get.maestro.mobile.dev | bash), Xcode (iOS), Android SDK + emulator (Android). See tools/native-tests/README.md for current Node and Android SDK minimums.

Tests: flows/launch.yaml and flows/hcp-updated.yaml against apps/smoke/.

Test Helpers Package (packages/test-helpers)

Comprehensive testing utilities for Meteor applications.

Async Testing
javascript
import { testAsyncMulti, simplePoll, waitUntil } from 'meteor/test-helpers';
// Wait for condition
await waitUntil(() => someCondition, { timeout: 5000, interval: 100 });
// Poll until ready
simplePoll(() => isReady(), successCallback, failCallback);
DOM/UI Testing
javascript
import { clickElement, simulateEvent, canonicalizeHtml, renderToDiv } from 'meteor/test-helpers';
clickElement(button);
simulateEvent(input, 'keydown', { keyCode: 13 });
const normalized = canonicalizeHtml(html);
Connection Testing
javascript
import { makeTestConnection, captureConnectionMessages } from 'meteor/test-helpers';
const conn = makeTestConnection(clientId);
const messages = captureConnectionMessages(server);
Utilities
FunctionDescription
SeededRandomPredictable random for deterministic tests
try_all_permutations()Test all permutations of inputs
withCallbackLogger()Track callback invocations
mockBehaviours()Behavior mocking

Tinytest (packages/tinytest)

Meteor's built-in test framework.

javascript
Tinytest.add('my test', function (test) {
test.equal(1 + 1, 2);
test.isTrue(true);
test.throws(function () { throw new Error(); });
});
Tinytest.addAsync('async test', async function (test) {
const result = await asyncOperation();
test.equal(result, expected);
});

Environment Variables

VariableDescription
TEST_METADATATest configuration JSON
METEOR_TEST_PACKAGESPackages to test

Debug Commands

bash
# Verbose build output
METEOR_DEBUG_BUILD=1 ./meteor run
# Profile build performance
METEOR_PROFILE=1 ./meteor build
# Force rebuild
./meteor reset && ./meteor run
# Debug Meteor tool with Chrome inspector
TOOL_NODE_FLAGS="--inspect-brk" ./meteor

Writing Package Tests

In package.js:

javascript
Package.onTest(function(api) {
api.use(['tinytest', 'test-helpers', 'my-package']);
api.addFiles('my-package-tests.js');
});

In my-package-tests.js:

javascript
import { MyPackage } from 'meteor/my-package';
Tinytest.add('MyPackage - basic functionality', function (test) {
const result = MyPackage.doSomething();
test.equal(result, expected);
});

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
44,784
Repository forks
5,263
Repository npm downloads, 7 days
2,006
7-day trend score
72

Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 19 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/meteor/meteor/testing/badge)](https://verified-skill.com/skills/meteor/meteor/testing)

Something wrong with this skill or its page? Tell us.