首页 > 解决方案 > 部署 apex 类的测试问题,可能是错误的配置

问题描述

当我尝试从沙盒部署新的 apex 类时,我遇到了以下问题:

SFDCAccessControllerTest testAccessControl_runAs System.AssertException:断言失败:不应该成功,因为标准用户无法访问 Survey__c

堆栈跟踪:Class.SFDCAccessControllerTest.testAccessControl_runAs:第 58 行,第 1 列 Utilities_Test getInstance System.AssertException:断言失败:预期:,实际:xxxx。堆栈跟踪:Class.Utilities_Test.getInstance:第 18 行,第 1 列

我想这只是一个糟糕的配置,但我对 salesforce 比较陌生,不知道我可以在哪里禁用测试或更改 Survey__c 的权限,并解决实例名称的问题而不影响生产环境。

我找了类似的案例,找不到,请谁能指导我。

标签: salesforce

解决方案


没有测试的源代码很难说什么。他们是使用“标准用户”配置文件创建一个虚拟用户还是尝试查询现有用户?据我所知,您无法编辑标准配置文件,您必须克隆它们,所以我不知道您或同事将如何设法添加读取权限...但是请检查测试中提到的配置文件-> 对象权限->调查 -> 正确阅读。

也可以在不运行所有测试的情况下部署到生产环境。这有点棘手,您需要指定要运行的类,您可以跳过该单元测试。但是您选择的所有内容都需要通过规则(最低 75% 的覆盖率等)。如果您需要尽快部署到 prod,它可能会有所帮助,但您最终需要硬着头皮检查测试到底出了什么问题。


推荐阅读