tl; dr如何使用simple-salesforce python软件包测试update
或insert
的生存能力?
我正在为我创建的基于简单销售的python类编写测试脚本。该类涉及sf.bulk.Object_Name__c.insert(data)
和sf.bulk.Object_Name__c.update(data)
代码,但是在测试脚本中,我想确认插入/更新是否成功插入,而无需实际提交新记录或更改。
我看到的唯一表明可能可行的项目是Simple-Salesforce documentation中的页面,其中指出了simple_salesforce.tests.test_util
模块的存在。不幸的是,我无法弄清楚如何访问此子模块,或者后来无法尝试test_util
类,并且该文档中关于如何执行此操作的说明很少。
最佳答案
我不认为这是可能的。从本质上讲,sales-salesforce软件包是语法糖,用于构建将与Salesforce的本机Rest API挂钩的代码。
子程序包simple_salesforce.tests不是对Salesforce测试功能的钩子,而是simple_salesforce本身的测试代码。
您要完成的测试类型仅限于Salesforce的本机Database.Test类。这些内置于Apex中,并在Salesforce中运行。没有一种好的方法可以完成您想做的测试。
您可以编写测试类以确保代码生成的请求的格式正确,但是要测试其实际上可以在Salesforce中生成记录的方式,则需要sales-salesforce来了解您的所有SFDC Organizations元数据,验证,权限,触发器,流程等。这将要求销售人员对所有人员进行销售,但要完全复制销售人员-使其变得不那么简单。
我的建议是在沙盒环境中测试您的代码,并确保它在沙盒环境中可以正常运行,然后再直接进入生产环境。
或者,(这纯粹是假设性的,并且很hacky),您可以尝试将自己的挂钩构建到Salesforce API中,以利用Database.setSavePoint()和Database.rollBack()函数。您将设置保存点,初始化批量作业,等待批量作业完成,完成测试以确认已提交,然后回滚到保存点。
关于python - 如何使用python simple-salesforce测试插入/更新是否成功,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55642547/