Pensando nesse cenário, suponhamos que tenhamos que testar a classe abaixo (supondo que ela fosse uma classe com uma complexa lógica):
public class LogicaComplexa { public LogicaComplexa(){} public void metodoComplexo(){ //lógica muito complexa e no meio dela você chama um método privado this.metodoPrivado(); } private void metodoPrivado(){ //código que precisa ser coberto } }
Veja que no exemplo acima, temos um método privado e um público. Suponhamos que precise testar o método privado, sem ter que passar por toda lógica do método público, que possui uma lógica complexa. O que podemos fazer? Colocar o método público? Nada disso... Para ajudar nesse árduo trabalho que é cobrir 100% de todo o código, temos uma anotação para método Apex, que permite acessarmos um método (para realizar a cobertura de teste) mesmo ele sendo privado (private method). Essa anotação é o @TestVisible. Com ele, mesmo o método sendo privado, é possível acessá-lo por uma classe de teste Apex. Veja com fica esse método:
@TestVisible private void metodoPrivado(){ //código que precisa ser coberto }
Com essa annotation @TestVisible, é possível acessar um método privado em uma classe de teste:
@isTest private class LogicaComplexaTest { @isTest static void teste() { LogicaComplexa logica = new LogicaComplexa(); logica.metodoPrivado(); } }
Bem, essa é a dica rápida de hoje.
* Está precisando de um suporte ou uma consultoria nos desenvolvimentos de classes teste Apex dentro da sua plataforma Salesforce? Entre em contato conosco - CbCloud: http://www.cbcloud.com.br/
Nenhum comentário:
Postar um comentário