티스토리 뷰

[세일즈포스 개발자]

Apex Testing

monimoni 2023. 2. 23. 10:38

1.     Apex Unit Test

-       Apex 테스트 프레임워크를 사용하면 Lightning Platform에서 Apex 클래스 및 트리거에 대한 테스트를 작성하고 실행할 수 있다.

-       Apex Unit TestApex 코드의 고품질을 보장하고 Apex 배포 요구 사항을 충족할 수 있게 지원한다.

-       Apex Unit Test의 장점은 다음과 같다.

-       1) Apex 클래스 및 트리거가 예상대로 작동하는지 확인할 수 있다.

-       2) App에 대한 향후 업데이트가 기존 기능을 손상시키지 않도록 클래스 및 트리거가 업데이트될 때마다 다시 실행할 수 있는 일련의 회귀 테스트 도구가 존재한다.

-       3) Apex를 프로덕션에 배포하거나 패키지를 통해 고객에게 Apex를 배포하기 위한 코드 적용 범위 요구 사항을 충족할 수 있다.

-       4) 프로덕션 조직에 제공되는 고품질 앱으로 프로덕션 사용자의 생산성을 높일 수 있다.

-       패키지 구독자에게 제공되는 고품질 앱으로 고객의 신뢰를 높인다.

 

 

2.     Test ( 테스트 ) 메소드

-       테스트 메소드는 @isTest라는 주석을 사용하여 정의 된다.

-       테스트 메소드는 테스트 클래스에서 정의해야 한다.

 

 

3.     실습 과제

 

 

 

4.     실습 코드

 

더보기
public class VerifyDate {
	
	//method to handle potential checks against two dates
	public static Date CheckDates(Date date1, Date date2) {
        		
		if(DateWithin30Days(date1,date2)) {
			return date2;
		} else {
			return SetEndOfMonthDate(date1);
		} // if - else
        
	} // CheckDates
	
	//method to check if date2 is within the next 30 days of date1
	private static Boolean DateWithin30Days(Date date1, Date date2) {
        
        if( date2 < date1) { return false; }
        
        Date date30Days = date1.addDays(30); //create a date 30 days away from date1
		if( date2 >= date30Days ) { return false; }
		else { return true; }
        
	} // DateWithin30Days

	//method to return the end of the month of a given date
	private static Date SetEndOfMonthDate(Date date1) {
        
		Integer totalDays = Date.daysInMonth(date1.year(), date1.month());
		Date lastDay = Date.newInstance(date1.year(), date1.month(), totalDays);
		return lastDay;
        
	} // SetEndOfMonthDate

} // end class

 

더보기
@isTest
public class TestVerifyDate {
    
    @isTest public static void testA() {
        Date daybyday = VerifyDate.CheckDates( Date.today(), Date.today() +7 );
        Date byday = VerifyDate.CheckDates( Date.today(), Date.today() +60 );
    } // testA
    
    // private 메소드는 외부 클래스에서 호출할 수 없기에 public인 메소드만 테스트하면 된다.
    
} // end class

 

 

728x90

'[세일즈포스 개발자]' 카테고리의 다른 글

HTTP과 REST Callouts  (0) 2023.02.24
Org Development Model  (0) 2023.02.23
Command-Line Interface ( 명령줄 인터페이스 )  (0) 2023.02.23
SOQL과 SOSL  (0) 2023.02.23
Checkpoint ( 체크 포인트 )  (0) 2023.02.23
댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항