Skip to content

pokujs/multi-suite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Poku's Logo

@pokujs/multi-suite

Enjoying Poku? Give him a star to show your support 🌟


📚 Documentation


🧬 @pokujs/multi-suite is a Poku plugin to run multiple independent test suites (each with its own configuration) as a single, unified execution.

Tip

Run multiple suites as one: independent concurrency, reporters, plugins, and quiet mode per suite, with isolated executions and a single consolidated report at the end.


Quickstart

Install

# Node.js
npm i -D @pokujs/multi-suite
# Bun
bun add -d @pokujs/multi-suite
# Deno (optional)
deno add npm:@pokujs/multi-suite

Enable the Plugin

// poku.config.js
import { multiSuite } from '@pokujs/multi-suite';
import { defineConfig } from 'poku';

export default defineConfig({
  plugins: [
    multiSuite([
      { include: 'test/unit', concurrency: 8 },
      { include: 'test/integration', sequential: true },
    ]),
  ],
});

Suite Options

Each suite accepts all poku config file options, applied independently.


Examples

Different concurrency per suite

multiSuite([
  { include: 'test/unit', concurrency: 16 },
  { include: 'test/e2e', sequential: true },
]);

Load env files per suite

multiSuite([
  { include: 'test/unit', envFile: '.env.test' },
  { include: 'test/integration', envFile: '.env.integration' },
]);

Scoped plugins per suite

multiSuite([
  { include: 'test/unit' },
  { include: 'test/integration', plugins: [myPlugin()] },
]);

Different reporter per suite

multiSuite([
  { include: 'test/unit', reporter: 'dot' },
  { include: 'test/integration', reporter: 'compact' },
]);

Kill ports before a suite

multiSuite([
  { include: 'test/unit' },
  {
    include: 'test/integration',
    kill: { port: [3000, 5432] },
  },
]);

How It Works

  • Suites run sequentially, one after the other
  • Each suite is a fully independent poku execution with its own configuration
  • Live file results are shown as they happen, using each suite's configured reporter
  • A single consolidated failure report and summary badge are shown at the end
  • Ctrl+C stops everything immediately

License

MIT © wellwelwel

About

🧬 A Poku plugin to run multiple independent test suites (each with its own configuration) as a single, unified execution.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors