salesforce学习笔记(1)- salesforce apex代码测试类的编写

由于salesforce的硬性要求,salesforce apex代码覆盖率至少要达到75%、且所有的测试方法都成功执行完成,才能正常部署到生产环境。

我理解的编写测试类分为4个步骤:

  1. 理解代码逻辑(数据的增删改)
  2. 创建测试数据
  3. 用测试数据模拟代码逻辑执行
  4. 验证结果

案例:
某企业员工的薪资组成为Base+奖金,且奖金额为Base的10%。

薪资表 Apex Trigger:

1 trigger SalaryTrigger on Salary__c (before insert) {
2     List<Salary__c> salaryList = Trigger.new;
3       SalaryHandler.countSalary(salaryList);
4 }

Apex Trigger Handler:

1 Apex Trigger Handler:
2 public class SalaryHandler {
3     public static void countSalary(List<Salary__c> salaryList) {
4         for (Salary__c salaryRecord :salaryList){
5               salaryRecord.TotalSalary__c = salaryRecord.BaseSalary__c + salaryRecord.BaseSalary__c*0.1;
6         }
7     }
8 }

测试类:

 1 @isTest
 2 private class SalaryHandlerTestClass {
 3     static testMethod void countSalaryTest() {
 4         // 创建测试数据
 5         Salary__c sly = new Salary__c(Name='员工1', BaseSalary__c=10000);
 6 
 7         Test.startTest();
 8         // 插入数据,模拟Handler类中代码逻辑执行
 9         insert sly;
10         Test.stopTest();
11 
12         // 取得新插入的测试数据
13         sly = [SELECT TotalSalary__c FROM Salary__c WHERE Id =:sly.Id];
14 
15         // 验证数据结果
16         System.assertEquals(11000, sly.TotalSalary__c);
17     }
18 }

 

写在最后:

在实际工作中,关于75%这个覆盖率,在达到标准的基础上,我们更应该关注的是,所有的用例是否都被覆盖到了,不要单纯纠结于覆盖率大小。

 

Copyright © 乔木船长

博客主页:https://www.cnblogs.com/captainqiaomu/

欢迎转发点评和指正!

posted on 2023-04-04 14:09  乔木船长  阅读(57)  评论(0编辑  收藏  举报

导航