← Back to Skills Marketplace
anderskev

Vitest Testing

by Kevin Anderson · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ✓ Security Clean
436
Downloads
0
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install vitest-testing
Description
Vitest testing framework patterns and best practices. Use when writing unit tests, integration tests, configuring vitest.config, mocking with vi.mock/vi.fn,...
README (SKILL.md)

Vitest Best Practices

Quick Reference

import { describe, it, expect, beforeEach, vi } from 'vitest'

describe('feature name', () => {
  beforeEach(() => {
    vi.clearAllMocks()
  })

  it('should do something specific', () => {
    expect(actual).toBe(expected)
  })

  it.todo('planned test')
  it.skip('temporarily disabled')
  it.only('run only this during dev')
})

Common Assertions

// Equality
expect(value).toBe(42)                    // Strict (===)
expect(obj).toEqual({ a: 1 })             // Deep equality
expect(obj).toStrictEqual({ a: 1 })       // Strict deep (checks types)

// Truthiness
expect(value).toBeTruthy()
expect(value).toBeFalsy()
expect(value).toBeNull()
expect(value).toBeUndefined()

// Numbers
expect(0.1 + 0.2).toBeCloseTo(0.3)
expect(value).toBeGreaterThan(5)

// Strings/Arrays
expect(str).toMatch(/pattern/)
expect(str).toContain('substring')
expect(array).toContain(item)
expect(array).toHaveLength(3)

// Objects
expect(obj).toHaveProperty('key')
expect(obj).toHaveProperty('nested.key', 'value')
expect(obj).toMatchObject({ subset: 'of properties' })

// Exceptions
expect(() => fn()).toThrow()
expect(() => fn()).toThrow('error message')
expect(() => fn()).toThrow(/pattern/)

Async Testing

// Async/await (preferred)
it('fetches data', async () => {
  const data = await fetchData()
  expect(data).toEqual({ id: 1 })
})

// Promise matchers - ALWAYS await these
await expect(fetchData()).resolves.toEqual({ id: 1 })
await expect(fetchData()).rejects.toThrow('Error')

// Wrong - creates false positive
expect(promise).resolves.toBe(value)  // Missing await!

Quick Mock Reference

const mockFn = vi.fn()
mockFn.mockReturnValue(42)
mockFn.mockResolvedValue({ data: 'value' })

expect(mockFn).toHaveBeenCalled()
expect(mockFn).toHaveBeenCalledWith('arg1', 'arg2')
expect(mockFn).toHaveBeenCalledTimes(2)

Additional Documentation

Test Methods Quick Reference

Method Purpose
it() / test() Define test
describe() Group tests
beforeEach() / afterEach() Per-test hooks
beforeAll() / afterAll() Per-suite hooks
.skip Skip test/suite
.only Run only this
.todo Placeholder
.concurrent Parallel execution
.each([...]) Parameterized tests
Usage Guidance
This skill is a set of Vitest examples and best-practice notes and appears coherent with its stated purpose. It's low-risk because it requests no credentials and has no installer, but two practical cautions: (1) provenance is unspecified (no homepage/source) — prefer content from an official or known author when security/trust matters; (2) the docs show using environment variables and setup files: do not place secrets in test env files or automatically run untrusted test setup code in CI or on machines with access to sensitive data. If you need stronger assurance, ask the publisher for a source repository or license before installing/using.
Capability Analysis
Type: OpenClaw Skill Name: vitest-testing Version: 1.1.0 The skill bundle provides comprehensive documentation and best practices for the Vitest testing framework, including configuration, mocking, and common testing patterns. All files (SKILL.md, CONFIG.md, MOCKING.md, PATTERNS.md) contain standard, safe code examples and instructions aligned with the stated purpose. No indicators of malicious behavior, data exfiltration, or prompt injection were found.
Capability Assessment
Purpose & Capability
Name/description match the provided files: examples, config snippets, mocking and pattern guidance for Vitest. No unrelated binaries, credentials, or third-party services are requested.
Instruction Scope
SKILL.md and companion files contain sample test code, config examples, and mocking patterns. They do not instruct reading arbitrary host files, exfiltrating data, or contacting external endpoints. They do show process.env/.env.test usage as normal examples for tests.
Install Mechanism
No install spec and no code files that would be written to disk or executed by an installer. This is instruction-only, the lowest install risk.
Credentials
The documentation shows how tests can access environment variables (process.env, .env.test and vi.stubEnv) but the skill does not declare or require any environment variables or credentials. Examples referencing env vars are expected for testing docs but users should avoid putting secrets into test env files.
Persistence & Privilege
always is false, no config paths or persistent modification of other skills or system settings. The skill is user-invocable and may be invoked by agents normally, which is expected for instructional skills.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install vitest-testing
  3. After installation, invoke the skill by name or use /vitest-testing
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
- New best practices and usage reference for Vitest testing framework. - Includes quick examples for unit/integration tests, assertions, mocking (vi.fn, vi.mock), async testing, and test metadata (skip, only, todo). - Reference tables summarize common API methods and hooks. - Links to additional documentation on mocking, configuration, and patterns. - Emphasizes correct handling of async/promise tests to avoid false positives.
Metadata
Slug vitest-testing
Version 1.1.0
License MIT-0
All-time Installs 2
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is Vitest Testing?

Vitest testing framework patterns and best practices. Use when writing unit tests, integration tests, configuring vitest.config, mocking with vi.mock/vi.fn,... It is an AI Agent Skill for Claude Code / OpenClaw, with 436 downloads so far.

How do I install Vitest Testing?

Run "/install vitest-testing" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Vitest Testing free?

Yes, Vitest Testing is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Vitest Testing support?

Vitest Testing is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Vitest Testing?

It is built and maintained by Kevin Anderson (@anderskev); the current version is v1.1.0.

💬 Comments