Run tests. Supports running all tests, single file, or pattern-matched tests.
Run project tests. Arguments: $ARGUMENTS
pnpm test
# Using relative path (from apps/core directory)
pnpm test -- test/src/modules/post/post.controller.e2e-spec.ts
# Using filename pattern
pnpm test -- --testNamePattern="PostController"
pnpm -C apps/core run test:watch
# Match test name
pnpm test -- --testNamePattern="should create post"
apps/core/test/
├── src/
│ ├── modules/ # Module tests
│ │ ├── post/
│ │ │ ├── post.controller.e2e-spec.ts
│ │ │ └── post.e2e-mock.db.ts
│ │ ├── user/
│ │ │ ├── user.controller.spec.ts
│ │ │ ├── user.controller.e2e-spec.ts
│ │ │ └── user.service.spec.ts
│ │ └── ...
│ ├── utils/ # Utility tests
│ ├── processors/ # Processor tests
│ └── transformers/ # Transformer tests
├── helper/ # Test helpers
├── mock/ # Mock implementations
└── setup-global.ts # Global setup
| Suffix | Type | Description |
|--------|------|-------------|
| .spec.ts | Unit test | Test single function or class |
| .e2e-spec.ts | E2E test | Test complete HTTP request flow |
Increase timeout:
pnpm test -- --testTimeout=30000
Tests use in-memory database. If memory issues occur:
NODE_OPTIONS="--max-old-space-size=4096" pnpm test
pnpm test -- --reporter=verbose
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer