Newer Version Available

This content describes an older version of this product. View Latest

Run the Same Tests in Sandbox and Production Deployments

Starting in API version 34.0, you can choose which tests to run in your development environment, such as only local tests, to match the tests run in production. In earlier versions, if you enabled tests in your sandbox deployment, you couldn’t exclude managed package tests.

By default, no tests are run in a deployment to a non-production organization, such as a sandbox or a Developer Edition organization. To specify tests to run in your development environment, set a testLevel deployment option. For example, to run local tests in a deployment and to exclude managed package tests, add the testLevel="RunLocalTests" parameter to the deploy target as shown in this example.

1<target name="deployCode">
2    <sf:deploy username="${sf.username}" password="${sf.password}" 
3           sessionId="${sf.sessionId}" serverurl="${sf.serverurl}"
4           deployroot="codepkg" testLevel="RunLocalTests">
5    </sf:deploy>
6</target>

The RunLocalTests test level is enforced regardless of the contents of the deployment package. In contrast, tests are executed by default in production only if your deployment package contains Apex classes or triggers. You can use RunLocalTests for sandbox and production deployments.

Note