用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aiidateam/aiida-core --skill writing-tests命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | writing-tests |
| description | Use when writing new pytest tests, fixtures, or regression tests for aiida-core. |
Tests live under tests/ and mirror the source layout in src/aiida/.
Reusable fixtures live in tests/conftest.py and per-subtree conftest.py files.
assert result == expected_value, not assert result is not None.
Check exact values, types, and lengths.@pytest.mark.presto: runs against SqliteTempBackend (in-memory, no PostgreSQL / RabbitMQ).
Prefer presto-compatible tests where possible: they are much faster and runnable in any environment.@pytest.mark.requires_rmq: requires a running RabbitMQ instance.@pytest.mark.requires_psql: requires a running PostgreSQL instance.@pytest.mark.nightly: long-running tests, only executed in nightly CI.Use pytest.mark.parametrize instead of duplicating test bodies:
import pytest
@pytest.mark.parametrize('value,expected', [
(1, 2),
(2, 4),
(3, 6),
])
def test_double(value, expected):
assert double(value) == expected
Check tests/conftest.py before writing ad-hoc setup.
If you find yourself reinventing a fixture, it probably already exists.
See the running-tests skill for the full uv run pytest cheatsheet.