npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@intentsolutionsio/integration-test-runner

v1.0.3

Published

Run and manage integration test suites with environment setup, database seeding, and cleanup

Downloads

54

Readme

Integration Test Runner Plugin

Run and manage integration test suites with automatic environment setup, database seeding, service orchestration, and cleanup.

Features

  • Automated setup - Database creation, migrations, seeding
  • Service orchestration - Start/stop dependent services
  • Environment management - Test-specific configurations
  • Comprehensive reporting - Detailed results and logs
  • Proper cleanup - No test pollution or leftover state
  • Fast feedback - Fail fast on setup errors

Installation

/plugin install integration-test-runner@claude-code-plugins-plus

Usage

Run all integration tests

/run-integration

Run specific test suite

/run-integration api
/run-integration --suite user-workflows

Run with coverage

/run-integration --coverage

Use shortcut

/rit

What It Does

1. Pre-Test Setup

  • Validates environment configuration
  • Checks database connectivity
  • Verifies service availability
  • Confirms no port conflicts

2. Environment Preparation

  • Creates/resets test database
  • Runs database migrations
  • Seeds test data
  • Starts dependent services (Redis, queues, etc.)
  • Initializes test containers

3. Test Execution

  • Runs test suites in logical order
  • Captures detailed execution logs
  • Reports progress in real-time
  • Handles failures gracefully
  • Collects code coverage (if enabled)

4. Post-Test Cleanup

  • Drops test database or truncates tables
  • Stops test services and containers
  • Removes temporary files
  • Clears test caches
  • Resets environment

5. Report Generation

  • Pass/fail counts
  • Execution times
  • Failed test details with stack traces
  • Code coverage metrics
  • Service logs for debugging

Test Types Supported

  • API Integration - REST/GraphQL endpoint testing
  • Database Operations - CRUD operations, transactions
  • Service Communication - Microservice interactions
  • External APIs - Third-party integrations (mocked or sandboxed)
  • Message Queues - Pub/sub, task queues
  • File Operations - Upload/download workflows
  • Authentication - Login, tokens, sessions

Example Workflow

# 1. Plugin runs pre-flight checks
Checking environment... 
Database available... 
Required services... 

# 2. Sets up test environment
Creating test database... 
Running migrations... 
Seeding test data... 
Starting Redis... 

# 3. Executes test suites
Running API tests... 12/12 passed
Running workflow tests... 8/8 passed
Running integration tests... 15/16 passed (1 failure)

# 4. Generates report
Results: 35/36 passed (97.2%)
Coverage: 81.5%
Time: 42.3s

# 5. Cleans up
Dropping test database... 
Stopping services... 
Cleanup complete... 

Configuration

The plugin looks for test configuration in:

  • test/integration/config.json
  • .env.test
  • docker-compose.test.yml
  • Project-specific test configs

Example configuration:

{
  "database": {
    "name": "myapp_test",
    "reset": true,
    "seed": "test/fixtures/seed.sql"
  },
  "services": {
    "redis": "redis://localhost:6380",
    "queue": "amqp://localhost:5673"
  },
  "env": {
    "NODE_ENV": "test",
    "LOG_LEVEL": "error"
  }
}

Best Practices

The plugin enforces integration testing best practices:

  • Test isolation - No shared state between tests
  • Idempotency - Can run multiple times safely
  • Realistic data - Test data resembles production
  • Proper cleanup - Leaves no trace
  • Clear reporting - Easy failure diagnosis
  • Fast execution - Optimized for speed

Requirements

  • Claude Code CLI
  • Testing framework (Jest, pytest, RSpec, etc.)
  • Database access (PostgreSQL, MySQL, MongoDB, etc.)
  • Docker (optional, for service containers)

Tips

  1. Keep tests fast - Use minimal data seeding
  2. Parallelize when possible - Independent tests can run concurrently
  3. Mock external APIs - Use sandboxes or mocks for third parties
  4. Use transactions - Rollback after each test for speed
  5. Tag tests - Separate slow tests for CI optimization

Troubleshooting

Tests fail with "connection refused"

Ensure dependent services are running. Check Docker containers or local services.

Database errors during setup

Verify migrations are current and database user has proper permissions.

Timeouts during test execution

Increase test timeout values or optimize slow queries.

Port conflicts

Change test service ports or stop conflicting processes.

License

MIT