salesforce - 在 Apex v24.0 中对 OpportunityLineItem 进行单元测试时,如何避免 STANDARD_PRICE_NOT_DEFINED?

标签 salesforce apex-code force.com

显然,Salesforce.com 中 Apex 的 Spring '12/v24.0 版本的一个新功能是单元测试不再能够访问“真实”数据 - 因此(如果我正确理解了更改) SOQL 查询现在将仅检索在单元测试过程中插入的对象 - 即使这也受到一些限制。

无论如何,这似乎将 OpportunityLineItem 测试排除在外,因为:

  • 无法插入没有 PriceBookEntryId 的 OpportunityLineItem,但是
  • 除非您已经有产品 X 的标准价格手册条目,否则您无法为产品 X 插入新的价格手册条目,但是
  • 测试数据中没有标准价格手册,因为与所有表一样,Pricebook2 表在单元测试运行开始时实际上是空的,并且
  • 无法在 Apex 中创建标准价格表

我真的希望这四点中至少有一点是错误的,但到目前为止,我现有的单元测试没有任何变化表明它们中的任何一个是错误的。这当然意味着我的单元测试不再有效。这几乎是在一夜之间发生的——周五的测试在我的沙箱中运行良好,但现在失败了。

我是否遗漏了什么,或者这是新 SFDC 版本中的错误?

最佳答案

Summer 14 引入了新功能,您现在可以使用 Test.getStandardPricebookId()无需设置 SeeAllData 即可获取标准价目表 ID至True

关于salesforce - 在 Apex v24.0 中对 OpportunityLineItem 进行单元测试时,如何避免 STANDARD_PRICE_NOT_DEFINED?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9164986/

相关文章:

salesforce - 为什么不能更改 Salesforce 受管软件包中的类关系?

azure - Windows Azure AD SAML 与 Salesforce 的集成是否支持服务提供商发起的 SSO?

api - 如何使用 API 检索任何 Salesforce 对象的 ListView ?

class - Salesforce - 构造函数名称无效错误

charts - (ApexCharts) 如何使饼图大小相同?

salesforce - force.com ISV 开发、部署、支持

salesforce - 如何控制 VisualForce 页面中顶点输入字段的宽度

jquery - 我怎样才能让 jQuery post 与销售人员 WebToLead 一起工作

salesforce - 通过链接传递记录 ID 到 Visualforce 详细信息页面

oauth - SalesForce OAuth 响应中没有 refresh_token