[Salesforce]Failed to run tests synchronously.: Your query request was running for too long.

테스트 클래스 실행 시 “Failed to run tests synchronously.: Your query request was running for too long.” 오류 대응

Summary
Test classes failing with QUERY_TIMEOUT Failed to run tests synchronously when running in synchronous mode

Login to the org which has quite number of managed package apex classes.
Run the Apex Test Class from Developer Console in Sync Mode
You may notice below exception when running the apex test class:
Error Message:

“QUERY_TIMEOUT Failed to run tests synchronously: Your query request was running for too long”

Workaround
As a workaround, please try to run the test class in asynchronous mode.

[Salesforce] SOQL 문의 HAVING 사용법

SOQL 문의 HAVING

HAVING에서는 GROUP BY로 그룹화한 결과에 대해 좁혀 조건을 넣을 수 있습니다.

좁힌 조건이라는 의미에서는 WHERE와 비슷하지만, WHERE에서는 그룹핑하기 전, HAVING은 그룹핑한 후입니다.

다음 샘플은 기회의 리드 소스로 그룹화하고 동일한 값의 레코드 수가 1 이상인 리드 소스별 금액을 표시합니다.

AggregateResult[] results = [SELECT LeadSource, SUM(Amount) summary 
                               FROM Opportunity 
                               GROUP BY LeadSource 
                               HAVING Count(LeadSource) > 1];
for(AggregateResult ar: results){
  System.debug('LeadSource='+ ar.get('LeadSource') 
                   + ':Amount='+ ar.get('summary'));
}

디버그 결과

LeadSource=LeadSource1:Amount=2
LeadSource=LeadSource2:Amount=3

[Salesforce]JSENCODE

JSENCODE

백슬래시 () 등의 이스케이프 문자를 아포스트로피 (‘) 등의 안전하지 않은 JavaScript 문자의 전에 삽입해, JavaScript 로 사용하는 텍스트 캐릭터 라인이나 편지 병합 항목치를 encode 합니다.

페이지를 로드할 때 JavaScript가 실행되고 경고가 표시됩니다.

<script>var ret = "foo";alert('xss');//";</script>

이 경우 JavaScript가 실행되지 않도록 JSENCODE 함수를 사용하십시오.

<script>var ret = "{!JSENCODE($CurrentPage.parameters.retURL)}";</script>

[Salesforce]CANNOT_EXECUTE_FLOW_TRIGGER

CANNOT_EXECUTE_FLOW_TRIGGER

테스트 클래스 런타임에 오류 세부 사항

System.DmlException: Insert failed. First exception on row 0; first error:
CANNOT_EXECUTE_FLOW_TRIGGER,
Campaign Create, Member Status Auto Set 처리 실패로 인해 이 레코드를 저장할 수 없습니다.
Salesforce 시스템 관리자에게 다음 세부 정보를 보고하십시오.
Salesforce에는 삭제 기준과 일치하는 레코드가 없습니다.
Salesforce에는 삭제 기준과 일치하는 레코드가 없습니다. : []

대응안의 하나는 이하입니다.

@isTest(SeeAllData=true)
※경우에 따라서 효과가 있다.