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
sfdcjoeysfdcjoey 

(SeeAllData == true) in Test class

Why to use (SeeAllData == true) in Test class?
DeepthiDeepthi (Salesforce Developers) 
Hi Sfdcjoey,

Annotate your test class or test method with IsTest(SeeAllData=true) to open up data access to records in your organization.

Considerations for the IsTest(SeeAllData=true) Annotation
  • If a test class is defined with the isTest(SeeAllData=true) annotation, this annotation applies to all its test methods whether the test methods are defined with the @isTest annotation or the testmethod keyword.
  • The isTest(SeeAllData=true) annotation is used to open up data access when applied at the class or method level. However, using isTest(SeeAllData=false) on a method doesn’t restrict organization data access for that method if the containing class has already been defined with the isTest(SeeAllData=true) annotation. In this case, the method will still have access to all the data in the organization.
For more details, please refer the below links:
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_testing_seealldata_using.htm 

https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_annotation_isTest.htm 

Hope this helps you!
Please mark this solution as best answer if it answers your question.

Best Regards,
Deepthi
Daniel MasonDaniel Mason

Hi SFDCJOEY

The isTest(SeeAllData=true) annotation is used to open up data access when applied at the class or method level.

However if you use isTest(SeeAllData=false) on a method, it doesn’t restrict organization data access for that method if the containing class has already been defined with the isTest(SeeAllData=true) annotation.

randheer practiserandheer practise
Hello SFDCJoey
Simple
While writing test class if you keep see all data==true then you can acccess real time data......

for Example LIST<Account> acc=[SELECT id,name FROM Account WHERE name llike 's%%'];
so by this query you'll get all Account records started with s FROM ACCOUNT sObject..............

but,in genearll in test class if you want to fetch data you should first create the records then only you can make QUERY,
but if you keep see all data=true then no need of creting records in testclass directly youll get records from sObject