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

本文讲述了在Salesforce开发环境中,如何确保Apex代码至少达到75%的覆盖率,并强调了全面测试用例的重要性,而非单纯追求覆盖率。作者通过实例讲解了如何编写测试类和关注测试用例的设计。
摘要由CSDN通过智能技术生成

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

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

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

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

薪资表 Apex Trigger:

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

Apex Trigger Handler:

public class SalaryHandler {
    public static void countSalary(List<Salary__c> salaryList) {
        for (Salary__c salaryRecord :salaryList){
              salaryRecord.TotalSalary__c = salaryRecord.BaseSalary__c + salaryRecord.BaseSalary__c*0.1;
        }
    }
}

测试类:

@isTest
private class SalaryHandlerTestClass {
    static testMethod void countSalaryTest() {
        // 创建测试数据
        Salary__c sly = new Salary__c(Name='员工1', BaseSalary__c=10000);

        Test.startTest();
        // 插入数据,模拟Handler类中代码逻辑执行
        insert sly;
        Test.stopTest();

        // 取得新插入的测试数据
        sly = [SELECT TotalSalary__c FROM Salary__c WHERE Id =:sly.Id];

        // 验证数据结果
        System.assertEquals(11000, sly.TotalSalary__c);
    }
}

写在最后:

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

Copyright © 乔木船长

个人主页:乔木船长

欢迎转发点评和指正!

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值