3.0.3 • Published 5 months ago

apex-tests-git-delta v3.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Apex Tests Git Delta

NPM Downloads/week License

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

PluginApproachWhen to Use
apex-tests-git-deltaExtracts test classes from commit messagesYou manually tag tests per commit
sfdx-git-deltaRun modified Apex classesYou deploy modified Apex classes
apex-test-listUses test annotations in Apex filesTests 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.

3.0.3

5 months ago

3.0.2

5 months ago

3.0.1

5 months ago

3.0.0

5 months ago

2.0.0

9 months ago

1.3.0

10 months ago

1.2.0

11 months ago

1.2.2

11 months ago

1.2.1

11 months ago

1.1.1

11 months ago

1.1.3

11 months ago

1.1.2

11 months ago

1.1.0

12 months ago

1.0.9

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago