You need to sign in to do that
Don't have an account?

Test class CPU time exceed issue
Hi All,
I've written & executing the test class for below code and receiving " FATAL_ERROR System.LimitException: Apex CPU time limit exceeded"
Any idea what I'm missing out in code?
Trigger code:
trigger Accountteamupdate on Account_Relationship__c (before insert) {
List<AccountTeamMember> accountTeamList = new List<AccountTeamMember>();
List<AccountTeamMember> finalaccountTeamList = new List<AccountTeamMember>();
List<user> UserList = [select User_ID_18__c,Taylor_Business_Unit__c, Function__c from user];
if(Trigger.isInsert)
{
for(Account_Relationship__c ar:trigger.new) {
ar.OwnerId=ar.Assigned_Sales_Rep__c;
AccountTeamMember Teammemberadd=new AccountTeamMember();
Teammemberadd.AccountId=ar.Account__c;
Teammemberadd.UserId=ar.Assigned_Sales_Rep__c;
accountTeamList.add(Teammemberadd);
}
for (AccountTeamMember am : accountTeamList )
{
for (user ul : UserList)
{
if (am.UserId == ul.User_ID_18__c)
{
AccountTeamMember Teammember=new AccountTeamMember();
Teammember.AccountId=am.AccountId;
Teammember.UserId=am.UserId;
if (ul.Taylor_Business_Unit__c != null && ul.Function__c != null )
{
Teammember.TeamMemberRole=ul.Taylor_Business_Unit__c +' '+ ul.Function__c;
}
else
{
Teammember.TeamMemberRole = 'Unspecified';
}
finalaccountTeamList.add(Teammember);
}
}
}
insert finalaccountTeamList;
}
}
Test Class code:
@isTest
public class sampleTestMethodCls {
static testMethod void testAccountTrigger(){
List<Account_Relationship__c> AR = new List<Account_Relationship__c>();
for (integer i = 0 ; i<=200 ; i++)
{
Account_Relationship__c ct = new Account_Relationship__c (Account__c='xxxxxxxx',Assigned_Sales_Rep__c='xxxxxxxx');
AR.add(ct);
}
Test.startTest();
insert AR;
Test.stopTest();
}
}
I've written & executing the test class for below code and receiving " FATAL_ERROR System.LimitException: Apex CPU time limit exceeded"
Any idea what I'm missing out in code?
Trigger code:
trigger Accountteamupdate on Account_Relationship__c (before insert) {
List<AccountTeamMember> accountTeamList = new List<AccountTeamMember>();
List<AccountTeamMember> finalaccountTeamList = new List<AccountTeamMember>();
List<user> UserList = [select User_ID_18__c,Taylor_Business_Unit__c, Function__c from user];
if(Trigger.isInsert)
{
for(Account_Relationship__c ar:trigger.new) {
ar.OwnerId=ar.Assigned_Sales_Rep__c;
AccountTeamMember Teammemberadd=new AccountTeamMember();
Teammemberadd.AccountId=ar.Account__c;
Teammemberadd.UserId=ar.Assigned_Sales_Rep__c;
accountTeamList.add(Teammemberadd);
}
for (AccountTeamMember am : accountTeamList )
{
for (user ul : UserList)
{
if (am.UserId == ul.User_ID_18__c)
{
AccountTeamMember Teammember=new AccountTeamMember();
Teammember.AccountId=am.AccountId;
Teammember.UserId=am.UserId;
if (ul.Taylor_Business_Unit__c != null && ul.Function__c != null )
{
Teammember.TeamMemberRole=ul.Taylor_Business_Unit__c +' '+ ul.Function__c;
}
else
{
Teammember.TeamMemberRole = 'Unspecified';
}
finalaccountTeamList.add(Teammember);
}
}
}
insert finalaccountTeamList;
}
}
Test Class code:
@isTest
public class sampleTestMethodCls {
static testMethod void testAccountTrigger(){
List<Account_Relationship__c> AR = new List<Account_Relationship__c>();
for (integer i = 0 ; i<=200 ; i++)
{
Account_Relationship__c ct = new Account_Relationship__c (Account__c='xxxxxxxx',Assigned_Sales_Rep__c='xxxxxxxx');
AR.add(ct);
}
Test.startTest();
insert AR;
Test.stopTest();
}
}
The issue is coming because of nested for loop. Try to avoid nested For loop.
Thanks,
Akshay
All Answers
The issue is coming because of nested for loop. Try to avoid nested For loop.
Thanks,
Akshay
Have done done google work & fixed the issue.