salesforce - 方法不存在或签名不正确
问题描述
我正在尝试为生产中的顶点类实现一个简单的更改。我有适当的课程和适当的测试课程。测试类在沙盒中成功运行,没有错误,但显然错误来自 Salesforce 中的 TestHelper 默认测试类。尝试在生产中部署时,它会引发错误“方法不存在或签名不正确:来自 TestHelper 类型的 void createUser(Id, String, String, Date, Integer)”
我已经尝试过将它引用的方法更改为公共静态 void,但无济于事,它会在代码中引发错误
这是我的测试课:
@isTest
private class OppLineItemInvntryBO_AType_OppStge_Test {
@testSetup public static void setup() {
Profile p = [SELECT Id FROM Profile
WHERE Name = 'profile1' LIMIT 1];
Date myDate = Date.newinstance(2019,07,01);
User testUser = TestHelper.createUser(p.Id,
'company1','legalentity1',myDate,327001);
这是我的 TestHelper 类:
public with sharing class TestHelper {
public static User createUser(Id profileId, String company) {
Integer rnd = getRandomNumber(10000);
User user = new User(
Username = 'john.doe@acme.com' + String.valueOf(rnd),
Email = 'john.doe' + String.valueOf(rnd) + '@acme.com',
LastName = 'Doe',
FirstName = 'John',
Alias = 'JD' + String.valueOf(rnd),
ProfileId = profileId,
LocaleSidKey = 'en_US',
LanguageLocaleKey = 'en_US',
TimeZoneSidKey = 'America/Los_Angeles',
EmailEncodingKey='UTF-8',
CompanyName = company);
insert user;
return user;
}
public static Integer getRandomNumber(Integer size){
Double d = math.random() * size;
return d.intValue();
}
}
完整的错误是这样的:
API 名称 - OppLineItemInvntryBO_AType_OppStge_Test 类型 - Apex 类行 - 14 列 - 36 错误消息 - 方法不存在或签名不正确:来自 TestHelper 类型的 void createUser(Id, String, String, Date, Integer)
解决方案
您在 OppLineItemInvntryBO_AType_OppStge_Test 类中使用 5 个参数调用 createUser 方法,其中与 TestHelper 类一样,createUser 方法仅接受 2 个参数。这就是您收到此错误的原因。尝试使用正确的参数调用该方法。
推荐阅读
- android-activity - 使用 JavaFXPorts 从服务启动 JavaFX 应用程序
- xamarin - 将大文件上传到 Xamarin 中的 Azure 媒体服务
- python - segfault - c_void_p 到 c_byte 数组
- c - 了解在 C 中使用双指针创建单链表的代码
- javascript - 条带发票项目并不总是在一张发票中一起发送
- javascript - 如何从下拉列表中选择具有 SELECT OPTION 标签的元素?
- php - 向下滚动时,yii2 在下拉 div 中越来越多地显示通知
- security - 使用 OpenSSL 对 .tar.gz 文件进行跨平台代码签名?
- python - 在子字符串之后查找文本直到python中的行尾
- javascript - 如何将数组对象插入对象-javascript