Agent skill

testing-basics

Essential testing patterns for any project. Use when: writing tests, setting up testing, or fixing test issues. Triggers: "test", "testing", "unit test", "write tests".

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/timequity/vibe-coder/tree/main/skills/testing-basics

SKILL.md

Testing Basics

Core testing patterns that apply to any language or framework.

Test Structure

AAA Pattern

Arrange → Act → Assert
python
# Arrange
user = User(name="Alice")

# Act
result = user.greet()

# Assert
assert result == "Hello, Alice!"

Test Types

Type Scope Speed When to use
Unit Single function/class Fast Core logic
Integration Multiple components Medium APIs, DB
E2E Full system Slow Critical paths

Naming Tests

test_[what]_[condition]_[expected]

Examples:

  • test_login_valid_credentials_returns_token
  • test_checkout_empty_cart_raises_error
  • test_search_no_results_returns_empty_list

What to Test

Do Test

  • Business logic
  • Edge cases
  • Error handling
  • Public interfaces

Don't Test

  • Framework code
  • Simple getters/setters
  • Implementation details
  • External services directly

Test Isolation

Each test should:

  • Run independently
  • Not depend on order
  • Clean up after itself
  • Not share state

Mocking

Mock external dependencies, not internal logic:

python
# Good: mock external service
@patch('app.services.email.send')
def test_signup_sends_welcome_email(mock_send):
    signup(user)
    mock_send.assert_called_once()

# Bad: mock internal implementation
@patch('app.models.user.User._validate')  # Don't do this

Coverage

  • Aim for meaningful coverage, not 100%
  • Cover happy paths first
  • Then error cases
  • Then edge cases

Quick Checklist

Before committing:

  • Tests pass locally
  • New code has tests
  • No flaky tests added
  • Test names are descriptive

Expand your agent's capabilities with these related and highly-rated skills.

timequity/vibe-coder

mvp-help

Help and documentation for Idea to MVP plugin. Use when: user asks about building MVPs, vibe coding, or available commands. Triggers: "help", "what can you do", "mvp help", "how to build".

0 0
Explore
timequity/vibe-coder

verification-gate

Hidden quality gate that runs before showing "Done!" to user - ensures all tests pass, build succeeds, and requirements met before claiming completion

0 0
Explore
timequity/vibe-coder

brainstorming

Refine ideas into detailed designs through Socratic dialogue. Use when: user has rough idea, needs to clarify requirements, explore approaches. Triggers: "brainstorm", "discuss idea", "I'm thinking about", "what if", "help me think through", "explore options", "/brainstorm".

0 0
Explore
timequity/vibe-coder

subagent-creator

Guide for creating effective subagents (custom agents). Use when users want to create a new subagent that can be dispatched via Task tool for autonomous work. Covers frontmatter fields (name, description, tools, model, permissionMode, skills), prompt design, and when to use subagents vs skills.

0 0
Explore
timequity/vibe-coder

backend-rust

Modern Rust backend with Axum, SQLx, tokio + CI/CD automation. Use when: building Rust APIs, high-performance services, or needing build/test/lint/audit automation. Triggers: "axum", "rust backend", "rust api", "sqlx", "tokio", "cargo build", "cargo test", "clippy", "rustfmt", "cargo-audit", "cross-compile", "rust ci", "release build", "rust security", "shuttle", "actix".

0 0
Explore
timequity/vibe-coder

test-driven-development

Write failing test first, then minimal code to pass. Red-Green-Refactor cycle. Use when: implementing features, fixing bugs, refactoring code. Triggers: "implement", "add feature", "fix bug", "tdd", "test first", "write tests", "test-driven".

0 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results