How to write Unit Tests with ServiceLocator

The service locator pattern is a design pattern used in software development to encapsulate the processes involved in obtaining a service with a strong abstraction layer.

We already mention it in our article: How to develop a flexible Apex code for Salesforce.

Continue reading How to write Unit Tests with ServiceLocator

Salesforce Unit Test Best Practices

Testing is the key to successful long-term development and is a critical component of the development process. Unit tests validate that your application works as expected, that there are no unexpected behaviors.

Apex provides a testing framework that allows you to write unit tests, run your tests, check test results, and have code coverage results.

Continue reading Salesforce Unit Test Best Practices

How to increase code coverage quickly in Salesforce

One of the requirements from Salesforce to deploy Apex code to the production environment or upload package to the Salesforce AppExchange related with Ape[ code coverage. Unit tests must cover at least 75% of your Apex code, and those tests must pass.

Code coverage indicates how many executable lines of code in your classes and triggers have been exercised by test methods.

Code coverage serves as one indication of test effectiveness but doesn’t guarantee test effectiveness. The quality of the tests also matters, but you can use code coverage as a tool to assess whether you need to add more tests. While you need to meet minimum code coverage requirements for deploying or packaging your Apex code, code coverage shouldn’t be the only goal of your tests. Tests should assert your app’s behavior and ensure the quality of your code.

Continue reading How to increase code coverage quickly in Salesforce

How to develop flexible Apex code for Salesforce

Day-to-day developer work related not only with writing new functionality but updating existing ones. When a developer tasked with adding a new feature to an existing application, the goal is to extend the functionality of that application with new behaviors. Extending software is the introduction of a new behavior by the addition of code. Some applications are flexible to this kind of change, whereas others may fight you tooth and nail!

Flexibility is how easily software can adapt to shifting requirements.

In an ideal extensible system, adding new behavior involves strictly adding new code without changing existing code. Adding new behavior to an extensible system means adding new classes, methods, functions, or data that encapsulate the new behavior. But because real systems are rarely ideal, you’ll still find yourself needing to make changes to existing code regularly.

One of the things that help developers write clean, well-structured, and easily-maintainable code is SOLID principles.

Continue reading How to develop flexible Apex code for Salesforce

How to Increase Salesforce Governor Limits

Salesforce is known as CRM with a lot of Limits. Because Salesforce Apex runs in a multitenant environment, the Apex runtime engine strictly enforces limits so that runaway Apex code or processes don’t monopolize shared resources. If some Apex code exceeds a limit, the associated governor issues a runtime exception that cannot be handled.

Continue reading How to Increase Salesforce Governor Limits