Skip to content
Skills Library
Programming · Testing

testing

/testing

Testing guidelines for HoloViz packages. Use when writing tests, reviewing test coverage in PRs, or identifying missing edge cases in any HoloViz repository.

Licence
BSD-3-Clause
Last repository change
20.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 20.10.2026, without references to retired models or APIs.

Licence

BSD-3-Clause, otwarta.

What it does and when to use it

Testing guidelines for HoloViz packages. Use when writing tests, reviewing test coverage in PRs, or identifying missing edge cases in any HoloViz repository.

Original author description

Testing guidelines for HoloViz packages. Use when writing tests, reviewing test coverage in PRs, or identifying missing edge cases in any HoloViz repository.

How it works

  1. Contents
  2. General Guidelines
  3. Edge Cases and Logical Errors
Original SKILL.md headings · 61 lines, 461 words
SKILL.md preview
---
name: testing
description: Testing guidelines for HoloViz packages. Use when writing tests, reviewing test coverage in PRs, or identifying missing edge cases in any HoloViz repository.
metadata:
  version: "2026.10.01"
  author: holoviz
---

# Testing

This skill covers testing patterns and edge cases specific to HoloViz repositories.

## Contents

- [General Guidelines](#general-guidelines)
- [Edge Cases and Logical Errors](#edge-cases-and-logical-errors)

## General Guidelines

- Run tests via pixi. Check `pixi.toml` for tasks (e.g. `pixi run test-unit`, `pixi run test-ui`).
- New tests must fail on `main` before submitting, since a test that passes without the fix doesn't test the fix.
- Write tests from the issue or the expected behavior, not from what the new code does. A test written to match the implementation checks the author's assumptions, so it can pass on the very bug it was meant to catch. Agents tend to write this kind of test for their own code.
- Never change a test's expected value just to make it pass. Change it only after confirming the new output is correct, and say why in the PR, since editing the expectation to match wrong output hides the regression the test caught.
- UI tests require the `--ui` flag.
- Only create a new test file if no existing file is a good fit, so tests for one module stay in one place and the next contributor finds them.
- Cover the lines you add; exercise new behavior, don't just import it.

## Edge Cases and Logical Errors

- Identify logical errors and edge cases in the changed code. Trace branching logic and boundary conditions to find inputs that could produce wrong results, silent data loss, or unexpected exceptions.
- Test for NaN and datetime types (np, pd) — these are common edge cases across HoloViz that are easy to miss.
- Also probe (where the logic branches on them): empty/single-element inputs, duplicate/colliding labels, negative/reversed values, unsorted input.
- Parameterize tests when the same logic is exercised with different inputs.
- Name tests for intent. Put what the test covers and why — including any issue link — in the function **docstring**, not a leading `#` comment: the docstring travels with the test in `pytest -v` output. Reserve `#` for a genuinely non-obvious step in the body, and skip comments that just restate what the test does.

```python
# WRONG — only tests the happy path
def test_filter_by_range():
    df = pd.DataFrame({'x': [1, 2, 3]})
    result = filter_by_range(df, 'x', low=1, high=3)
    assert len(result) == 3

# CORRECT — covers edge cases and logical boundaries
@pytest.mark.parametrize(
    ("data", "low", "high", "expected_len"),
    [
        ([1, 2, 3], 1, 3, 3),
        ([1, 2, 3], 2, 2, 1),
        ([1, 2, 3], 5, 10, 0),
        ([], 0, 1, 0),
        ([np.nan, 1, 2], 0, 2, 2),
        ([1, 2, None], 0, 2, 2),
    ],
    ids=[
        "inclusive_bounds",
        "single_value_range",
        "no_matches",
        "empty_input",
        "nan_values",
        "none_values",
    ],
)
def test_filter_by_range(data, low, high, expected_len):
    df = pd.DataFrame({'x': data})
    result = filter_by_range(df, 'x', low=low, high=high)
    assert len(result) == expected_len
```

Versions

RepositoryScoreLicence
This page · holoviz-dev/holoviz-skills100BSD-3-Clause
iuliandita/skills100MIT
wrongstack/wrongstack100MIT
langwatch/langwatch100Apache-2.0
mcouthon/agents100MIT
nteract/nteract100BSD-3-Clause
kettleofketchup/DraftForge100GPL-3.0
skillberry-ai/cap-evolve100Apache-2.0
TheBeardedBearSAS/claude-craft100MIT

Database snapshot: 13.11.2026 · package version 973f80c9294a (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100cleanup
    Code quality guidelines for HoloViz packages. Use when writing, changing, refactoring, or reviewing code in any HoloViz repository.
  • 100documentation
    Documentation guidelines for HoloViz packages. Use when writing or reviewing docs, changelog entries, or API references in any HoloViz repository.
  • 100testing-strategy
    Testing strategies and best practices for unit, integration, and end-to-end tests. Use when setting up test infrastructure, writing test cases, or deciding what to test. Covers test pyramid, mocking strategies, and coverage guidelines.
  • 90testing-symfony
    Stratégie de Tests Symfony 8.1 / PHP 8.5. Use when writing tests, reviewing test coverage, or setting up testing.
  • 100generate-test-cases
    Use when the user asks to analyze code for test coverage, list what test cases are needed, or review testing strategy — WITHOUT generating actual test code.
  • 90testing-react
    Stratégie de Tests React 19.3 + Compiler 1.0. Use when writing tests, reviewing test coverage, or setting up testing.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.