In Spring ’15 release Salesforce has introduced new @testSetup annotation for Test class method. @testSetup annotation defined methods are used for creating common test records, and that records are available for all test methods in the class.
@testSetup methods create common test data easily and efficiently, and reduce test execution times especially when we are working with many records.
Example:
@iSTest
private class AccountControllerTest {
//Test Setup Method
@testsetup
static void createAccount() {
Account acc = new Account();
acc.Name = 'Salesforce';
insert acc;
}
//Test Method
public static testMethod void test() {
System.assertEquals(1, [SELECT COUNT() FROM Account Where Name = 'Salesforce']);
}
}
Considerations:
Records created by @testSetup method are available to all test methods in the test class.
@testSetup methods are executed first in the test class before any test methods.
One Test class can have only one @testSetup method. If multiple @testSetup method is written in a Test class then sequence of execution of those methods are not guaranteed.
If the test class or a test method has access to organization data by using the @isTest(SeeAllData=true) annotation, test setup methods aren’t supported in this class.
If any error occurss during the execution in @testSetup method, then entire test class fails.
The data created by @testSetup methods will be rolled back after the completly execution of the test class.
If a test setup method calls a non-test method of another class, no code coverage is calculated for the non-test method.
{!REQUIRESCRIPT("/soap/ajax/32.0/connection.js")}
var result = sforce.connection.query("SELECT Id FROM PermissionSetAssignment WHERE PermissionSet.Name = 'Sample_Permission_Set' AND AssigneeId = '{!$User.Id}'");
var psAssignment = result.getArray("records");
if (psAssignment.length === 1) {
//Write your logic
} else {
alert('You don't have access to this feature.');
}
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptReject