1

We need to install a new version of a managed package that is already installed in our production org. I know that the developer of the managed package can opt to not run tests that are part of the managed package upon installation. However, will our tests that are not part of the managed package be run upon installing the new managed package version?

The concern is that some custom code is written against the managed package. An updated version may cause tests for the custom code to fail until we can deploy updated code and tests for our development that is not part of the managed package.

2

To my understanding, installing a managed package does not run unmanaged tests in the org.

We built a custom installer app that uses the Metadata API's InstalledPackage type to install managed packages through the web. Originally, we were getting failures in production orgs because unmanaged tests were being triggered by the deployment and the installation would fail if any unmanaged tests fail. This has since been fixed in the platform and we haven't seen any further issues with production org installations.

I've also never seen a push upgrade fail due to failing unmanaged tests in the target org and we do push upgrades to thousands of orgs every 2 weeks over the last year.

One thing that we do to help users in a similar situation as you is we alternate between pushing to sandbox and production each week. So, at the end of a sprint, we cut a production release and push to all sandboxes. A week later, we push that release to production orgs. This provides users the chance to run tests in their sandbox, report any issues to us, and resolve any issues with custom code caused by the upgrade.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.