Отдел продаж - Test Apex Class List - PullRequest
0 голосов
/ 16 января 2020

Я создал класс Apex в песочнице, чтобы вызвать список. Теперь мне нужно внедрить его в производство. Для этого мне нужно реализовать тест с успехом не менее 75%.

Apex Classe создает список «dfind_Research_Projekt__c» из которого «dfind_Potenzieller_Kandidat __ c« является реальной записью, я использую этот список сделать итерацию и показать все «dfind_Research_Projekt__c» на странице из «dfind_Potenzieller_Kandidat __ c».

Это мой класс Apex:

public with sharing class dfind_Pot_Job_Application_List {
    @AuraEnabled

    //Get Pot Job Application List
    public static  List<dfind_Research_Projekt__c> getJobApp(Id recordId) {

        List<dfind_Research_Projekt__c> JobAppList =  [Select Id, Name, dfind_Potenzieller_Kandidat__c, dfind_Job__c, 
                                                       LastModifiedById, dfind_Bewerbungsdatum__c, dfind_Job_Name__c,
                                                       OwnerId

                                                       from dfind_Research_Projekt__c 
                                                       where dfind_Potenzieller_Kandidat__c = :recordId
                                                       ORDER BY dfind_Bewerbungsdatum__c DESC NULLS LAST];
        return JobAppList;
    }


    //Get User
    @AuraEnabled

    public static user fetchUser(){
        User u = [select id,Name from User where id =: userInfo.getUserId()];
        return u;
    }



}

Это мой тест:

@isTest
public class TESTdfind_pot_job_app  {
    static testMethod void myUnitTest()  {

        //Create Data for Customer Objet
        cxsrec__Potential_candidate__c objKandi = new cxsrec__Potential_candidate__c();
        objKandi.Name = 'Test Kandidat';

        insert objKandi;

        //Create List
        List<dfind_Research_Projekt__c> listOfPotApp = new List<dfind_Research_Projekt__c>{
            new dfind_Research_Projekt__c(Name='Test Appplication'
                                          , dfind_Job__c='a0w0X000008KKB5QAO'
                                          , dfind_Potenzieller_Kandidat__c = objKandi.Id
                                          , dfind_Bewerbungsdatum__c = Datetime.now()
                                          , OwnerId= '0050X000007vz5MQAQ'),
                new dfind_Research_Projekt__c(Name='Test Appplication 1'
                                              , dfind_Job__c='a0w1x0000013aSRAAY'
                                              , dfind_Potenzieller_Kandidat__c = objKandi.Id
                                              , dfind_Bewerbungsdatum__c = Datetime.now()
                                              , OwnerId= '0050X000007vz5MQAQ'),
                new dfind_Research_Projekt__c(Name='Test Appplication 2'
                                              , dfind_Job__c='a0w1x000000JJSBAA4'
                                              , dfind_Potenzieller_Kandidat__c = objKandi.Id
                                              , dfind_Bewerbungsdatum__c = Datetime.now()
                                              , OwnerId= '0050X000007vz5MQAQ')
                };

        insert(listOfPotApp);

        Test.startTest();  
        // Starts the scope of test
        // Now check if it is giving desired results using system.assert
        // Statement.New invoice should be created

       List<dfind_Research_Projekt__c> JobAppList = new List<dfind_Research_Projekt__c>(listOfPotApp);



        Test.stopTest();     // Ends the scope of test


         for(Integer i=0;i<JobAppList.Size();i++) {
            system.assertEquals(JobAppList[i].dfind_Potenzieller_Kandidat__c,objKandi.Id);
            System.debug(i + 'Kandidat: ' + JobAppList[i].dfind_Potenzieller_Kandidat__c + ';');
            System.debug(i + ': ' + objKandi.Id + ';');

        }

        system.assertEquals(1,1);

    }
}

1 Ответ

0 голосов
/ 17 января 2020

Жестко идентифицированные идентификаторы в вашем модульном тесте не будут работать. Ваши модульные тесты выполняются в изолированном контексте данных и должны генерировать все свои собственные тестовые данные.

Как написано, этот тест на самом деле ничего не делает. Он не вызывает код, который вы собираетесь тестировать, так как он должен оценить его поведение и получить покрытие кода. В какой-то момент вам нужно будет вызвать fetchUser() и getJobApp() и написать утверждения об их возвращаемых значениях. Утверждения, которые в настоящее время присутствуют, являются тавтологическими; они гарантированно пройдут и не предоставят никакой информации.

См. Как написать модульный тест Apex? в Salesforce Stack Exchange для ознакомительных ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...