apex-tests-git-delta v3.0.3
Apex Tests Git Delta
A Salesforce CLI plugin that extracts Apex test class names from git commit messages, enabling incremental test execution during deployments.
This plugin helps you:
✅ Automate test selection based on commit history
✅ Ensure critical tests run before deployment
✅ Seamlessly integrate with sfdx-git-delta
Usage
Create a config file
Create a .apextestsgitdeltarc
file in your Salesforce DX project root with the regular expression:
[Aa][Pp][Ee][Xx]::(.*?)::[Aa][Pp][Ee][Xx]
Use the format in commit messages
fix: update triggers Apex::AccountTriggerHandlerTest OpportunityTriggerHandlerTest::Apex
chore: add sandbox setup Apex::PrepareMySandboxTest::Apex
fix: resolve quoting issues Apex::QuoteControllerTest::Apex
Run the command to extract tests
sf atgd delta --from "HEAD~1" --to "HEAD"
✅ Output (alphabetically sorted, space-separated test classes):
AccountTriggerHandlerTest OpportunityTriggerHandlerTest PrepareMySandboxTest QuoteControllerTest
Use the output in a deployment command
sf project deploy start -x package/package.xml -l RunSpecifiedTests -t $(sf atgd delta --from "HEAD~1" --to "HEAD")
Why This Plugin
sfdx-git-delta is great for identifying changed Apex classes, but running only those modified tests may not be enough. Other dependencies or testing strategies may require additional tests.
This plugin lets you define which tests to run for each commit, ensuring better coverage. It seamlessly integrates with sfdx-git-delta
using the same --from
and --to
SHA arguments.
Install
sf plugins install apex-tests-git-delta@x.y.z
System Dependencies
Requires git to be installed and that it can be called using the command git
.
Command
sf atgd delta
sf atgd delta
USAGE
$ sf atgd delta -f <value> -t <value> -v [--json]
FLAGS
-f, --from=<value> Commit SHA from where the commit message log is done.
This SHA's commit message will not be included in the results.
-t, --to=<value> Commit SHA to where the commit message log is done.
[default: HEAD]
-v, --skip-test-validation Skip validating that tests exist in the local package directories.
[default: false]
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Parse commit messages over a range and return the Apex tests to deploy against.
EXAMPLES
Get tests from the most recent commit, confirming they exist in the local package directories.
$ sf atgd delta --from "HEAD~1" --to "HEAD"
Get tests from the most recent commit, skipping the local package directory validation.
$ sf atgd delta --from "HEAD~1" --to "HEAD" -v
Alternatives
Plugin | Approach | When to Use |
---|---|---|
apex-tests-git-delta | Extracts test classes from commit messages | You manually tag tests per commit |
sfdx-git-delta | Run modified Apex classes | You deploy modified Apex classes |
apex-test-list | Uses test annotations in Apex files | Tests are predefined in Apex classes |
Issues
If you find a bug or have a feature request, please open an issue. Before reporting, please check existing issues to avoid duplicates.
License
This project is licensed under the MIT license. Please see the LICENSE file for details.
5 months ago
5 months ago
5 months ago
5 months ago
9 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago