在Sales force开发中完善测试类是开发者必经的一个环节,代码的部署需要保证至少75%的覆盖率,那么该如何写好测试类呢. 测试类定义格式如下: @isTest private class MyTestClass { @isTest static void myTest() { // code_block } static testMethod void testName() { // code_block } } 测试类允许声明为private或者public,一般来说,单元测试的测试类都…
在Salesforce项目实施过程中,对项目代码的维护可以说占据极大的精力,无论是因为项目的迭代,还是需求的变更,甚至是项目组成员的变动,都不可避免的需要维护之前的老代码,而事实上,几乎没有任何一个项目的整个周期中,维护人员都是最初的开发人员,所以,合适的编码规范能极大的改善代码的可读性,方便其他开发者,甚至你自己在一段时间之后来阅读,维护你的代码 首先最重要的是包括对象,字段,进程生成器,工作流,class类,触发器,函数,变量在内的所有API的命名应该是“望文生义”的,也即是说,通过你的AP…
API测试的最佳实践 - 介绍 在上一篇“是什么让API测试很叼”一文中,我们讨论API与其他形式的软件测试的差异.部分是因为API之间的通信压根就没考虑让你能读懂,纯粹是为了方便计算机之间的交互而设计的.另一部分是由于业务层面上有很多因素影响了API的性能和功能. 当然,值得庆幸的是,你可以参考一些已有的最佳实践,增加你维护API质量的几率.在本章节中,你将学到这些最佳实践.这些最佳实践也是有难易等级的,大体分两类,一类是白色腰带的,适合那些初学API测试的人,一类是黑带,适合有经验的API测…
一:基础设置 Salesforce中的PDF页面本质上还是Visualforce[简称VF]页面,所以只需要给VF页面加上一个属性[renderAs="pdf"] 即可生成一个PDF页面 1 <apex:page renderAs="pdf"> 2 this is a Visualforce page!!! 这是一个VF页面 3 </apex:page> 预览页面,可以看到生成了一个PDF页面,但是只显示了英文,涉及的中文字体都没有出现 对于…
在Servlet开发的工程实践中,为了减少过多的业务Servlet编写,会采用构建公共Servlet的方式,通过反射来搭建轻量级的MVC框架,从而加快应用开发. 关于Servlet开发的基础知识,请看:JavaWeb开发之详解Servlet及Servlet容器 前后端交互的基本形式 一般来说,前端提交数据请求有三种基本方式,分别是表单.链接和Ajax 1. 按钮 <form action="/BaseServlet/ServletDemo02?method=addStu" met…
樊登有一节课讲的挺有意思,说中国有个组织叫绩效改进协会,专门研究用技控代替人控的事情.其用麦当劳来举例子,他说麦当劳其实招人标准很低,高中文凭就可以,但是培养出来的人,三五年之后,每一个都是大家争抢的对象.为什么呢?因为麦当劳的标准化做的很好.其中有一个例子是说,麦当劳的汉堡,出炉之后,15分钟之后没卖掉就扔了.大家想想,如果你是领导,你如何让员工遵循这个标准?而麦当劳的解决方案说起来也简单,汉堡做出来之后就放入保温箱,15分钟后保温箱就会报警,通知餐厅经理该批次的汉堡过期了需要丢弃. 人是组织…
项目部署顺序 全局值集 小组 自定义字段-对象-设置(SF1 紧凑布局要和记录类型在这里要一起部署) 邮件模板-静态资源 角色 工作流-流定义(包含进程生成器) 批准过程 开发部署<Apex类,页面,触发器,组件> 选项卡 视图 自定义按钮(链接) 布局-记录类型-操作<这仨绑定> 应用程序 文件夹,报表,自定义报表类型,仪表板 规则(重复/匹配/共享若干) 需要注意的地方 没有启用的仪表板,报表,批准过程,审批流等等,尽量不要部署到正式里面去 每次上载数据的时候把简档都带上一起&…
Salesforce提供了强大的报表功能,支持表格.摘要.矩阵以及结合共四种形式,本文探讨在站在开发的角度要如何理解报表. 一:查询报表基本信息报表在Sales force中是Report对象,基本的查询语句可以获取一些报表的基本信息 select id,Name,CreatedById,CreatedBy.Username,LastModifiedDate,FolderName from Report 二:在Apex类中运行报表 Salesforce分别提供了runReport(同步)以及ru…
1.查询一个对象下所有字段 当需要查询一个对象所有字段进行复制或其他操作,可以使用一段拼接的语句来查询 String query = 'select '; for(String fieldApi : Schema.SobjectType.Opportunity.fields.getMap().keySet()){ if(fieldApi=='Id') continue; query += fieldApi + ', '; } query += 'Id from Opportunity'; Sys…
salesforce提供了比较强大的可配置审批流功能,在系统中翻译为“批准过程”.所以需要配置审批时,选择创建 ——>  工作流和批准 ——> 批准过程,然后选择管理批准过程,选择需要配置的对象,例如业务机会 然后创建新的批准过程,salesforce提供了包括使用跳转起点向导,使用标准设置向导两种方式,但就本质来说没有太大的区别. 针对配置实现的批准过程需要的注意事项,整理如下 批准过程参数列表 说明 示例 过程名称 审批流的Name 费用节点审批 唯一名称 审批流的API ApproveE…