function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
NewBee21NewBee21 

apex test class for 100% coverage - Error

Hello,I have written an apex class and now testing the class to achieve 100% code coverage.I have followed the steps as per trailhead but now getting the following error.

@isTest
public Class AccountRelatedCase{
@isTest    
    public Static void list<Case> lstCases(string Accid){
    
    list<Case> lstCa = [SELECT AccountId,CaseNumber,Subject FROM Case WHERE status = 'New' And AccountId = :Accid];
    system.Debug(lstCa);
    return lstCa;
    }
}

Error:
Unexpected token 'list'.
Best Answer chosen by NewBee21
CharuDuttCharuDutt
Hii NewBee
Try BElow Test Class
@isTest
public Class AccountRelatedCase{
@isTest 
    public Static void unitTest(){
    Account Acc = new Account();
    Acc.Name = 'test Acount';
    insert Acc ;
    Case c = new Case();
    c.Subject = 'Test Subject';
    c.Origin = 'Web';
    c.Status = 'New';
    c.AccountId = Acc.Id;
    insert c; 
    mainClassName.MethodName(Pass If Any Parameter);
  
    }
}
Please Mark It As Best Answer If It Helps
Thank You!

All Answers

ankit bansalankit bansal
Hi Newbee21,
your method declaration is incorrect, you cant both declare a method as void and as returning list<Case>
public Static void list<Case> lstCases(string Accid){

should be -
public Static list<Case> lstCases(string Accid){

​​​​​​​
NewBee21NewBee21
@isTest
public Class AccountRelatedCase{
@isTest 
    public Static list<Case> lstCases(string Accid){
    
    list<Case> lstCa = [SELECT AccountId,CaseNumber,Subject FROM Case WHERE status = 'New' And AccountId = :Accid];
    system.Debug(lstCa);
    return lstCa;
    }
}

Now I am getting an error :"Test methods must have no arguments"

is this right approach to test menthods in apex?
CharuDuttCharuDutt
Hii NewBee
Try BElow Test Class
@isTest
public Class AccountRelatedCase{
@isTest 
    public Static void unitTest(){
    Account Acc = new Account();
    Acc.Name = 'test Acount';
    insert Acc ;
    Case c = new Case();
    c.Subject = 'Test Subject';
    c.Origin = 'Web';
    c.Status = 'New';
    c.AccountId = Acc.Id;
    insert c; 
    mainClassName.MethodName(Pass If Any Parameter);
  
    }
}
Please Mark It As Best Answer If It Helps
Thank You!
This was selected as the best answer