0

我已经创建了一个测试类,简单的测试类,但是我不能给它数据,有人可以解释一下,这是我的代码,当我运行测试时,覆盖率为 14%,我不知道如何给数据,对于例外情况并使其至少达到 75 %

public void cargaPacientes () {                 
    lMSD = new List<Enrollee__c>();
    bLista = true;
    String strCredencial = '';
    String strPoliza = '';
    String strCertificado = '';
    String strRfc = '';
    String fNacimiento = '';
    String nombres = '';
    String Aseguradora = '';
    String Contratante = '';
    String query = '';
    Boolean correcto = true;
    integer cuentacriterios = 0;
    string producto = '';
    
    if (proveedor.Tipo_de_Proveedor__c == 'Dentista' || proveedor.Tipo_de_Proveedor__c == 'Clínica' || proveedor.Tipo_de_Proveedor__c == 'Hospital'){
        producto = 'Dental';
    }else if (proveedor.Tipo_de_Proveedor__c == 'Óptica'){
        producto = 'Visión';
    }
    
    if((msd.DENTEGRA_ID_Number__c != null) && (msd.DENTEGRA_ID_Number__c != '')) {
        strCredencial = ' and DENTEGRA_ID_Number__c like \'' + msd.DENTEGRA_ID_Number__c + '\'';
        System.debug(':::: strCredencial = ' + strCredencial);
        cuentacriterios = cuentacriterios + 1;
    }
    
    if((msd.Family_Number__c != null) && (msd.Family_Number__c != '')){
        strCertificado = ' and Family_Number__c like \'' + msd.Family_Number__c + '\'';
        System.debug(':::: strCertificado = ' + strCertificado);
        cuentacriterios = cuentacriterios + 1;
    }
    
    if((msd.RFC__c != null) && (msd.RFC__c != '')){
        strRfc = ' and RFC__c like \'%' + msd.RFC__c + '%\'';
        System.debug(':::: strRfc = ' + strRfc);
        cuentacriterios = cuentacriterios + 1;
    }
    
    if((msd.Policy_Number__c != null) && (msd.Policy_Number__c != '')){
        strPoliza = ' and Policy_Number__c like \'%' + msd.Policy_Number__c + '%\' ';
        System.debug(':::: strPoliza = ' + strPoliza);
        cuentacriterios = cuentacriterios + 1;
    }
    
    if(msd.Birth_Date__c != null) {                 
        fNacimiento = ' and Birth_Date__c = ' + String.valueOf(msd.Birth_Date__c);
        System.debug(':::: fNacimiento = ' + fNacimiento);
        cuentacriterios = cuentacriterios + 1;              
    }
    if(msd.Name != null) {                 
        nombres = ' and Name like \'%' + msd.Name + '%\' ';
        System.debug(':::: nombres = ' + nombres);
        cuentacriterios = cuentacriterios + 1;              
    }
    if(msd.Contratante__c != null) {                 
        Contratante = ' and Contratante__c like \'%' + msd.Contratante__c + '%\' ';
        System.debug(':::: Contratante = ' + Contratante);
        cuentacriterios = cuentacriterios + 1;              
    }
    if(msd.Aseguradora__c != null) {                 
        Aseguradora = ' and Aseguradora__c like \'%' + msd.Aseguradora__c + '%\' ';
        System.debug(':::: Aseguradora = ' + Aseguradora);
        cuentacriterios = cuentacriterios + 1;              
    }        
    //if(strCredencial != '' || strCertificado != '' || strRfc != '' || strPoliza != '' || fNacimiento != '' || nombres != '') {
    if(cuentacriterios>1){
        //query = 'Select e.Contact__c, e.Id, e.Name, e.Policy_Number__c, e.Family_Number__c, e.RFC__c, e.Birth_Date__c from Enrollee__c e where Cve_tipo_registro__c = \'Elegibilidad\' and OwnerId = \'' + userID + '\'' + strCredencial + strCertificado + strRfc + strPoliza + fNacimiento;
        query = 'Select e.Contact__c, e.Id, e.Name, e.Policy_Number__c, e.Family_Number__c, e.RFC__c, e.Birth_Date__c, e.Plan__c,Product__c from Enrollee__c e where Cve_tipo_registro__c = \'Elegibilidad\' and Enrollee_Status__c = \'Elegible\' and Product__c = \'' + producto + '\'' + strCredencial + strCertificado + strRfc + strPoliza + fNacimiento + nombres + Contratante + Aseguradora;
        System.debug(':::: query concatenado = ' + query);
        lMSD = Database.query(query);
        cuentacriterios = 0; 
    } else {
        System.debug(':::: Sin criterios');
        bLista = false;
        correcto = false;
        cuentacriterios = 0;
        ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO,'Debe filtrar al menos por dos criterios.'));
    }
    
    if(lMSD.size() == 0 && correcto == true) {
        bLista = false;
        ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO,'No se obtuvieron resultados basado en sus criterios de búsqueda. Utilice un criterio diferente o comuníquese al Centro de Contacto para confirmar elegibilidad.'));
        msd = new Enrollee__c();
    }
    
    if(lMSD.size() > 0) { 
        ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.CONFIRM,'Se encontraron ' + lMSD.size() + ' registros. Favor de seleccionar el registro que corresponda con el nombre de su paciente.'));
        msd = new Enrollee__c();
    }

这是我的测试课

  private static void cargaPacientesTesting(){
    
    Test.startTest();
    PortalProveedoresController obj = new PortalProveedoresController();
    obj.cargaPacientes();
    Test.stopTest();
}

谢谢我坚持这个,谢谢

4

0 回答 0