2014-09-16 6 views
1

이 코드 조각에 대한 단위 테스트를 작성해야합니다. 나는 단위 테스트를 작성하는 법을 배우는 중이다. 내 이해는 외부에서 시작하여 if 문을 위해 작업해야한다는 것입니다. 단위 테스트에서 정확히 무엇을하려고합니까? 이 작업에 어떻게 접근합니까? 미안 나는 완전한 초보자 다. 고맙습니다.트리거에 대한 단위 테스트 작성

Trigger BuildComponentBI on Build_Component__c(before insert , before update) { 
    if (Trigger.isBefore && (Trigger.isInsert || Trigger.isUpdate)) { 
     //Double CompVer = 0; 
     double q = 0; 
     for (Build_Component__c C: Trigger.new) { 
      if (C.Manual_Override__c == False){ 

       List<Effort_Matrix__c> em = Effort_Matrix__c.getall().values(); 

       q = c.Scale__c; 
       For(Effort_Matrix__c e:em){ 
        if(e.Component_Name__c == c.Type__c){ 
         if(e.Phase__c == 'Build'){ 
          c.Estimated_Build_Hours__c = e.OOM__c * q; 
         } 
         if(e.phase__c == 'Analysis'){ 
           c.Estimated_Analysis_Hours__c = e.OOM__c * q; 
          } 
         if(e.phase__c == 'SIT'){ 
           c.Estimated_SIT_Hours__c = e.OOM__c * q; 
          } 
         if(e.phase__c == 'Deployment'){ 
           c.Estimated_Deployment_Hours__c = e.OOM__c * q; 
          } 
         if(e.phase__c == 'UAT'){ 
           c.Estimated_UAT_Hours__c = e.OOM__c * q; 
          } 
         if(e.phase__c == 'Unit Test'){ 
           c.Estimated_Unit_Test_Hours__c = e.OOM__c * q; 
          } 
         if(e.phase__c == 'Design'){ 
           c.Estimated_Design_Hours__c = e.OOM__c * q; 
          } 
         else{} 
       } 
      }  
      } 

     } 

    } 
} 

답변

1

트리거를 직접 테스트하지 마십시오. 당신이해야 할 일은 트리거 객체 (Build_Component__c)를 삽입하고 업데이트하는 단위 테스트를 만드는 것입니다.

예 : Manual_Override__c 부울이 거짓 인 경우

다음
@isTest 
private class BuildComponentTest { 
    @isTest static void testManualOverrideFalseInsert() { 
     Build_Component__c bc = new Build_Component__c(); 
     bc.Manual_Override__c = false; 
     insert bc; 
    } 
} 

당신이 삽입 시나리오를 테스트 할 수 있습니다. 100 % 커버리지를 얻을 때까지 if 문 안의 다른 조건을 포함하도록 테스트를 계속 추가하십시오.

Salesforce SE에 대한 질문을 시도하면 더 빨리 답변을 얻을 수 있습니다.

관련 문제