How to Write test class for trigger:

Here is the example to write a unit test method for a simple Apex Trigger.
Following trigger is executed whenever an account is created and creates sharing to the manager to that record.

Apex Trigger Code:

trigger accountAfterInsert on Account (after insert) {

	string managerId= [Select Id, ManagerId FROM User WHERE Id = :userInfo.getUserId()].ManagerId;

	for(Account acc: trigger.New){
		AccountShare accShare = new AccountShare();
		accShare .ParentId = acc.Id;
		accShare .UserOrGroupId = managerId;
		accShare .AccessLevel = 'EDIT';
		accShare .RowCause = Schema.accountShare.RowCause.Manual;
	}
}

 

// Unit Test for above Trigger

@isTest
private class AccountTriggersTest{
	private static testmethod void accountTriggersTest(){
		Account acc = new Account();
		acc.name = ‘NewAccount’;
		acc.address = ‘USA’;
		insert acc;
	}
}