Saltar al contenido
Marketplace

platform-apex-test-run

de forcedotcom

Apex test execution, coverage analysis, and test-fix loops with 120-point scoring. Use when the user runs Apex tests, checks code coverage, fixes failing tests, or touches *Test.cls / *_Test.cls files. DO NOT TRIGGER when writing Apex production code (use platform-apex-generate), Agentforce agent testing (use agentforce-test), or Jest/LWC tests (use experience-lwc-generate).

Esta skill incluye scripts que tu agente puede ejecutar. Ver qué archivos

Resumen

SKILL.mdLeída en abb06a4

platform-apex-test-run: Salesforce Test Execution & Coverage Analysis

Use this skill when the user needs Apex test execution and failure analysis: running tests, checking coverage, interpreting failures, improving coverage, and managing a disciplined test-fix loop for Salesforce code.

When This Skill Owns the Task

Use platform-apex-test-run when the work involves:

  • sf apex run test workflows
  • Apex unit-test failures
  • code coverage analysis
  • identifying uncovered lines and missing test scenarios
  • structured test-fix loops for Apex code

Delegate elsewhere when the user is:

  • writing or refactoring production Apex → platform-apex-generate skill
  • testing Agentforce agents → agentforce-test skill
  • testing LWC with Jest → experience-lwc-generate

Required Context to Gather First

Ask for or infer:

  • target org alias
  • desired test scope: single class, specific methods, suite, or local tests
  • coverage threshold expectation
  • whether the user wants diagnosis only or a test-fix loop
  • whether related test data factories already exist

Recommended Workflow

1. Discover test scope

Identify:

  • existing test classes
  • target production classes
  • test data factories / setup helpers
2. Run the smallest useful test set first

Start narrow when debugging a failure; widen only after the fix is stable.

3. Analyze results

Focus on:

  • failing methods
  • exception types and stack traces
  • uncovered lines / weak coverage areas
  • whether failures indicate bad test data, brittle assertions, or broken production logic
4. Run a disciplined fix loop

When the issue is code or test quality:

  • delegate code fixes to platform-apex-generate skill when needed
  • add or improve tests
  • rerun focused tests before broader regression
5. Improve coverage intentionally

Cover:

  • positive path
  • negative / exception path
  • bulk path (251+ records where appropriate)
  • callout or async path when relevant

High-Signal Rules

RuleRationale
Default to SeeAllData=falseEnsures test isolation; prevents reliance on org-specific data
Every test must assert meaningful outcomesTests with no assertions prove nothing and give false confidence
Test bulk behavior with 251+ recordsTriggers process in batches of 200; 251 records crosses the boundary
Use factories / @TestSetup when they improve clarityConsistent data creation in one place; rolled back between test methods
Pair Test.startTest() with Test.stopTest() for asyncEnsures async operations (queueable, future) complete before assertions
Do not hide flaky org dependencies inside testsPrevents intermittent failures tied to org state

Gotchas

IssueResolution
Test passes locally but fails in CI orgCheck for SeeAllData=true or undeclared dependencies on org-specific records
Coverage drops unexpectedly after refactorRun focused class-level tests first, then widen to RunLocalTests to confirm
"Uncommitted work pending" error in callout testDML and HTTP callouts cannot be mixed in the same test context without Test.startTest() wrapping
Mock not taking effect in testEnsure Test.setMock() is called before the code that makes the callout
@TestSetup data missing in test method@TestSetup data is committed per test method — re-query it; do not store in static variables
API version 67.0 and higher without necessary access level checksCheck failing SOQL/DML stack traces for CRUD/FLS access errors, using System.runAs with an assigned permission set when user-mode behavior is intended, or documenting a justified SYSTEM_MODE path when system access is required

Output Format

When finishing, report in this order:

  1. What tests were run
  2. Pass/fail summary
  3. Coverage result
  4. Root-cause findings
  5. Fix or next-run recommendation

Suggested shape:

Test run: <scope>
Org: <alias>
Result: <passed / partial / failed>
Coverage: <percent / key classes>
Issues: <highest-signal failures>
Next step: <fix class, add test, rerun scope, or widen regression>

Cross-Skill Integration

NeedDelegate toReason
Fix production code or author test classesplatform-apex-generate skillCode generation and repair
Create bulk / edge-case test dataplatform-data-manageRealistic test datasets
Deploy updated tests to orgplatform-metadata-deployDeployment workflows
Inspect detailed runtime logsplatform-apex-logs-debugDeeper failure analysis

Reference File Index

FileWhen to read
references/cli-commands.mdAll sf apex run test command flags, output formats, async execution, and coverage commands
references/test-patterns.mdTest class templates — basic, bulk (251+), mock callout, and data factory patterns
references/testing-best-practices.mdCore testing principles — AAA pattern, naming conventions, bulk, negative, and mock strategies
references/test-fix-loop.mdAgentic test-fix loop implementation and failure analysis decision tree
references/mocking-patterns.mdHttpCalloutMock, DML mocking, StubProvider, and selector mocking patterns
references/performance-optimization.mdTechniques to reduce test execution time — DML mocking, SOQL mocking, loop optimizations
assets/basic-test.clsTemplate: standard test class with @TestSetup, positive / negative / bulk / edge-case methods
assets/bulk-test.clsTemplate: bulk test with 251+ records that crosses the 200-record trigger batch boundary
assets/mock-callout-test.clsTemplate: HTTP callout mock using HttpCalloutMock
assets/test-data-factory.clsTemplate: reusable TestDataFactory with create and insert helpers
assets/dml-mock.clsTemplate: IDML interface + DMLMock implementation for database-free unit tests
assets/stub-provider-example.clsTemplate: StubProvider-based dependency injection stub
scripts/parse-test-results.pyPost-tool hook — parses sf apex run test JSON output and formats failures for the auto-fix loop

Score Guide

ScoreMeaning
108+strong production-grade test confidence
96–107good test suite with minor gaps
84–95acceptable but strengthen coverage / assertions
< 84below standard; revise before relying on it

Archivos 15 archivos

y 3 archivos más en GitHub

Instálala a mano

Deska ejecuta esto por ti, para cada agente que elijas. Para ejecutarlo tú en una terminal:

npx skills add forcedotcom/sf-skills --skill platform-apex-test-run

Más de forcedotcom

  • platform-apex-generateforcedotcomPrimary Apex authoring skill for class generation, refactoring, and review. ALWAYS ACTIVATE when the user mentions Apex, .cls, triggers, or asks to create/refactor a class (service, selector, domain, batch, queueable, schedulable, invocable, DTO, utility, interface, abstract, exception, REST resource). Use this skill for requests involving SObject CRUD, mapping collections, fetching related records, scheduled jobs, batch jobs, trigger design, @AuraEnabled controllers, @RestResource endpoints, custom REST APIs, or code review of existing Apex.6,700 instalaciones en skills.sh0
  • platform-apex-test-generateforcedotcomUse to generate and validate Apex test classes with TestDataFactory patterns, bulk testing (251+ records), mocking, assertions, and disciplined test-fix loops. Use when creating Apex test classes (for triggers, services, controllers, batch jobs, queueables, and callouts), improving coverage, debugging or fixing failing Apex tests, or running test/coverage analysis. Triggers on *Test.cls files, sf apex run test, coverage reports. Do NOT trigger for production Apex (use platform-apex-generate) or Jest/LWC tests.6,600 instalaciones en skills.sh0
  • platform-apex-logs-debugforcedotcomSalesforce debug log analysis and troubleshooting with 100-point scoring. TRIGGER when: user analyzes debug logs, hits governor limits, reads stack traces, or touches .log files from Salesforce orgs. DO NOT TRIGGER when: running Apex tests (use platform-apex-test-run), generating or fixing Apex code (use platform-apex-generate), or Agentforce session tracing (use agentforce-observe).6,400 instalaciones en skills.sh0
  • platform-metadata-deployforcedotcomSalesforce DevOps automation using sf CLI v2. TRIGGER when: user deploys metadata, creates/manages scratch orgs or sandboxes, sets up CI/CD pipelines, or troubleshoots deployment errors with sf project deploy. DO NOT TRIGGER when: writing Apex code (use platform-apex-generate), building LWC components (use experience-lwc-generate), creating metadata definitions (use platform-custom-object-generate or platform-custom-field-generate), or querying org data (use platform-data-manage).6,300 instalaciones en skills.sh0
  • platform-metadata-retrieveforcedotcomALWAYS USE THIS SKILL to retrieve metadata from an org to your local project with sf project retrieve start. Supports retrieval by all changes, source directory, metadata type (wildcards), manifest (package.xml), or package name, in source or metadata (ZIP) format. Use when the user asks to retrieve, pull, sync, or download metadata, Apex classes, or custom objects. DO NOT TRIGGER for deploying metadata (use platform-metadata-deploy), listing metadata, or generating a package.xml (use platform-manifest-generate). NEVER use MCP tools.6,300 instalaciones en skills.sh0
Todas las skills de forcedotcom