원클릭으로
run-tests
Guide for running pytest tests locally. Use this when running tests to verify code changes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Guide for running pytest tests locally. Use this when running tests to verify code changes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Guide for the visual style, structure, and shared building blocks used by Semantic Link Labs interactive UI tools (HTML widgets and anywidget-based widgets). Use this when adding a new interactive UI, modifying an existing one, or adding shared visual components.
Guide for building documentation and validating docstrings. Use this when asked to build docs, check docstrings, or validate documentation.
Guide for running code style linters and formatters. Use this when asked to check code style, run linters, or fix formatting issues.
Guide for translating SQL aggregation expressions into DAX measures.
Guide for adding new functions to the library. Use this when implementing new API wrappers or utility functions.
Guide for working with Direct Lake semantic models. Use this when implementing Direct Lake-related features or troubleshooting.
| name | run-tests |
| description | Guide for running pytest tests locally. Use this when running tests to verify code changes. |
This skill covers running pytest tests for the Semantic Link Labs project.
Use this skill when you need to:
| Component | Details |
|---|---|
| Framework | pytest |
| Location | tests/ directory |
| Configuration | pyproject.toml |
# Install package in editable mode with test dependencies
pip install -e ".[test]"
Create conda environment from environment.yml:
conda env create -f environment.yml
conda activate fabric
pip install -e .
# Run all tests
pytest -s tests/
# Run with verbose output
pytest -sv tests/
# Run specific test file
pytest -s tests/test_example.py
# Run specific test by name pattern
pytest -s tests/ -k test_my_function
# Run multiple tests by pattern
pytest -s tests/ -k "test_list or test_create"
# Stop on first failure
pytest -sx tests/
pytest automatically discovers tests in:
test_*.py or *_test.pytest_*Test*# Show test names and results
pytest -v tests/
# Show test names with print statements
pytest -sv tests/
The -s flag captures stdout:
# Show print output during tests
pytest -s tests/
# Show slowest 10 tests
pytest --durations=10 tests/
# Run tests matching pattern
pytest -k "workspace" tests/
# Run tests NOT matching pattern
pytest -k "not slow" tests/
# Combine patterns
pytest -k "workspace and not admin" tests/
# Run specific test file
pytest tests/test_workspaces.py
# Run tests in directory
pytest tests/admin/
pytest -x tests/
pytest --pdb tests/
pytest -l tests/
pytest -vvv tests/
import pytest
import pandas as pd
def test_my_function_returns_dataframe():
"""Test that my_function returns a DataFrame."""
from sempy_labs import my_function
result = my_function()
assert isinstance(result, pd.DataFrame)
def test_my_function_with_parameter():
"""Test my_function with specific parameter."""
from sempy_labs import my_function
result = my_function(workspace="Test Workspace")
assert not result.empty
assert "Name" in result.columns
def test_my_function_raises_on_invalid_input():
"""Test that my_function raises ValueError on invalid input."""
from sempy_labs import my_function
with pytest.raises(ValueError, match="Invalid"):
my_function(invalid_param="bad value")
The project uses GitHub Actions for CI. See .github/workflows/build.yaml:
- name: Test with pytest
shell: bash -el {0}
run: |
pytest -s tests/
Before committing code changes:
# Run all tests
pytest -s tests/
# Run tests for modified area
pytest -s tests/ -k relevant_test_pattern
# Check for any failures
# If failures, fix code and re-run
If tests fail with import errors:
# Ensure package is installed in editable mode
pip install -e .
If tests fail with missing package:
# Install test dependencies
pip install -e ".[test]"
If tests behave unexpectedly:
# Recreate conda environment
conda env remove -n fabric
conda env create -f environment.yml
conda activate fabric
pip install -e .