Untested Apex method
Why is this an issue?
Unit tests ensure that code meets quality standards before deployment. Untested methods pose several risks:
Bugs may go undetected by developers until end users start reporting issues
Refactoring becomes risky without tests to verify consistent behavior
Salesforce requires 75% code coverage for deployment, but 100% coverage of critical logic is recommended
Beyond meeting coverage requirements, meaningful tests validate that your code behaves correctly under various conditions.
Examples
Example method:
public class AccountService {
public static void deactivateAccount(Id accountId) {
Account acc = [SELECT Id, Status__c FROM Account WHERE Id = :accountId];
acc.Status__c = 'Inactive';
update acc;
}
}
Example of test coverage that would satisfy this rule:
@IsTest
private class AccountServiceTest {
@IsTest
static void testDeactivateAccount() {
Account acc = new Account(Name = 'Test', Status__c = 'Active');
insert acc;
Test.startTest();
AccountService.deactivateAccount(acc.Id);
Test.stopTest();
Account result = [SELECT Status__c FROM Account WHERE Id = :acc.Id];
Assert.areEqual('Inactive', result.Status__c);
}
}
How can I fix violations?
Write test methods that exercise the untested code:
Create a test class: If one doesn't exist, create a test class for the Apex class containing the untested method.
Test positive scenarios: Verify the method works correctly with valid input.
Test negative scenarios: Verify the method handles invalid input, null values, and edge cases appropriately.
Use assertions: Include
Assert.areEqual(),Assert.isTrue(), or similar assertions to verify expected outcomes.
@IsTest
private class AccountServiceTest {
@IsTest
static void testGetActiveAccounts() {
// Setup test data
Account testAccount = new Account(Name = 'Test', IsActive__c = true);
insert testAccount;
// Execute the method
Test.startTest();
List<Account> results = AccountService.getActiveAccounts();
Test.stopTest();
// Verify results
Assert.areEqual(1, results.size(), 'Should return one active account');
}
}
Resources
