abacusai/abacusai-bot/testing

Claude Code and agent skill by abacusai/abacusai-bot

Trust tier 3
  • community
Source check pending

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

Write tests that catch real regressions instead of restating the implementation: choosing what to test, structuring cases, and handling async, time, and external services. Use when adding tests, fixing a flaky suite, or asked whether something is adequately covered.

Install

npx vskill@latest install abacusai/abacusai-bot/testing

SKILL.md

Writing tests

The test worth writing is the one that fails when the behaviour breaks and passes when it does not. Coverage percentage is not that.

What to test

Test behaviour through the public surface, not internals. A test that asserts a private method was called breaks on every refactor while catching no bugs. It pins the implementation, not the contract.

Priority order:

  1. The path the user actually takes
  2. Boundaries: empty, one, many, maximum, just over
  3. Error handling: what happens when the dependency fails
  4. Regressions: every bug fix gets a test that fails before the fix

Skip: getters, framework behaviour, and anything where the test restates the implementation line for line.

Structure

Arrange, act, assert, with one behaviour per test. A test asserting five things reports the first failure and hides the rest.

The name should say what breaks: returns_401_when_token_expired, not test_auth_2. When a suite fails at 3am, the name is the whole error message.

Prefer real objects over mocks. Every mock is an assumption about a collaborator that can drift out of date silently: mocked tests keep passing after the real API changes. Mock at the boundary (network, clock, filesystem), not inside your own code.

The things that make suites flaky

  • Time. Never assert on now(). Inject a clock or freeze it.
  • Sleeps. sleep(2) is both slow and unreliable. Wait for the condition.
  • Order dependence. Each test must pass alone and in any order. Shared

mutable state between tests is the usual cause.

  • Real network. Fine in a small integration suite, fatal in a unit suite.
  • Unseeded randomness, including dict/set ordering across runs.
  • Parallel workers sharing a fixture: a database, a temp path, a port.

A flaky test is worse than no test: it trains people to re-run rather than investigate, and then a real failure gets re-run too.

Async

Await the assertion, not the call. expect(fn()) on an unawaited promise passes regardless. Most async test frameworks will report an unhandled rejection after the test has already reported success. Treat any such warning as a failure.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

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

Source

Popularity

7-day trend score
0

Not refreshed yet.

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/abacusai/abacusai-bot/testing/badge)](https://verified-skill.com/skills/abacusai/abacusai-bot/testing)

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