[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EN8G4SEVP9CCPXVAJNJS6X":3,"skill-same:01M6EN8G4SEVP9CCPXVAJNJS6X":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":41,"ownerHtmlUrl":42,"ownerBlogUrl":6,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6EN8G4SEVP9CCPXVAJNJS6X","testing",null,"Automated test generation, review, and execution for pytest-based projects.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbyronwilliamscpa\u002Ftesting\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[5,24,25,26,27,28,29,30],"review","test","test generation","execution","projects","pytest","generation","2026-11-10 10:12:30",false,"---\nname: testing\ndescription: Automated test generation, review, and execution for pytest-based projects.\n---\n\n# Testing Skill\n\nAutomated test generation, review, and execution for pytest-based projects.\n\n## Activation\n\nAuto-activates on keywords: test, coverage, pytest, unittest, integration test, e2e, performance, benchmark, security testing\n\n## Workflows\n\n### Test Generation\n- **generate.md**: Generate test cases for code\n\n### Test Review\n- **review.md**: Review existing tests for quality\n\n### Specialized Testing\n- **e2e.md**: End-to-end testing patterns\n- **security.md**: Security testing patterns\n- **performance.md**: Performance testing patterns\n\n## Context Files\n\n- **pytest-commands.md**: Common pytest commands\n- **pytest-patterns.md**: Testing patterns and best practices\n\n## Commands\n\n```bash\n# Run all tests\nuv run pytest\n\n# Run with coverage\nuv run pytest --cov=src\u002Ffragrance_rater --cov-report=html --cov-report=term-missing\n\n# Run specific test categories\nuv run pytest -m \"not slow\"\nuv run pytest -m \"integration\"\nuv run pytest -m \"unit\"\n\n# Run with verbose output\nuv run pytest -v --tb=short\n\n# Run mutation testing\nuv run mutmut run --paths-to-mutate=src\u002F\n\n# Run property-based tests\nuv run pytest --hypothesis-show-statistics\n```\n\n## Coverage Standards\n\n- **Minimum Coverage**: 80%\n- **Branch Coverage**: Enabled\n- **Coverage Report**: HTML and terminal output\n\n## Test Organization\n\n```\ntests\u002F\n├── unit\u002F           # Unit tests (fast, isolated)\n├── integration\u002F    # Integration tests (may use external services)\n├── e2e\u002F           # End-to-end tests (full system)\n├── security\u002F      # Security-focused tests\n├── performance\u002F   # Performance and load tests\n└── conftest.py    # Shared fixtures\n```\n\n## Testing Patterns\n\n### AAA Pattern (Arrange-Act-Assert)\n```python\ndef test_example():\n    # Arrange\n    input_data = create_test_data()\n\n    # Act\n    result = function_under_test(input_data)\n\n    # Assert\n    assert result == expected_output\n```\n\n### Fixtures\n```python\n@pytest.fixture\ndef sample_data():\n    return {\"key\": \"value\"}\n\ndef test_with_fixture(sample_data):\n    assert sample_data[\"key\"] == \"value\"\n```\n","# Testing Skill\n\nAutomated test generation, review, and execution for pytest-based projects.\n\n## Activation\n\nAuto-activates on keywords: test, coverage, pytest, unittest, integration test, e2e, performance, benchmark, security testing\n\n## Workflows\n\n### Test Generation\n- **generate.md**: Generate test cases for code\n\n### Test Review\n- **review.md**: Review existing tests for quality\n\n### Specialized Testing\n- **e2e.md**: End-to-end testing patterns\n- **security.md**: Security testing patterns\n- **performance.md**: Performance testing patterns\n\n## Context Files\n\n- **pytest-commands.md**: Common pytest commands\n- **pytest-patterns.md**: Testing patterns and best practices\n\n## Commands\n\n```bash\n# Run all tests\nuv run pytest\n\n# Run with coverage\nuv run pytest --cov=src\u002Ffragrance_rater --cov-report=html --cov-report=term-missing\n\n# Run specific test categories\nuv run pytest -m \"not slow\"\nuv run pytest -m \"integration\"\nuv run pytest -m \"unit\"\n\n# Run with verbose output\nuv run pytest -v --tb=short\n\n# Run mutation testing\nuv run mutmut run --paths-to-mutate=src\u002F\n\n# Run property-based tests\nuv run pytest --hypothesis-show-statistics\n```\n\n## Coverage Standards\n\n- **Minimum Coverage**: 80%\n- **Branch Coverage**: Enabled\n- **Coverage Report**: HTML and terminal output\n\n## Test Organization\n\n```\ntests\u002F\n├── unit\u002F           # Unit tests (fast, isolated)\n├── integration\u002F    # Integration tests (may use external services)\n├── e2e\u002F           # End-to-end tests (full system)\n├── security\u002F      # Security-focused tests\n├── performance\u002F   # Performance and load tests\n└── conftest.py    # Shared fixtures\n```\n\n## Testing Patterns\n\n### AAA Pattern (Arrange-Act-Assert)\n```python\ndef test_example():\n    # Arrange\n    input_data = create_test_data()\n\n    # Act\n    result = function_under_test(input_data)\n\n    # Assert\n    assert result == expected_output\n```\n\n### Fixtures\n```python\n@pytest.fixture\ndef sample_data():\n    return {\"key\": \"value\"}\n\ndef test_with_fixture(sample_data):\n    assert sample_data[\"key\"] == \"value\"\n```\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fbyronwilliamscpa\u002Ftesting",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill testing",{"tool":51,"command":52},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill testing",{"tool":54,"command":55},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill testing","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbyronwilliamscpa\u002Ftesting\u002FSKILL.md",true,[59],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"skill-report.json","REFERENCE","参考文档",8974,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbyronwilliamscpa\u002Ftesting\u002Fskill-report.json",[66,78,88,97,103,110],{"skillNo":67,"name":68,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":74,"publishedAt":31},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[75,76,77],"model","model hierarchy","model hierarchy skill",{"skillNo":79,"name":80,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":84,"publishedAt":31},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[83],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},[85,86,87],"MCP","zoom","zoom mcp",{"skillNo":89,"name":90,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":31},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[94,95,96,86],"sdk","zoom apps sdk","apps",{"skillNo":98,"name":99,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":31},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[99],{"skillNo":104,"name":105,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":109,"publishedAt":31},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[108],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},[105],{"skillNo":111,"name":112,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":31},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[112]]