我正在尝试对生产中的顶点类进行简单的更改。我有适当的课程和适当的测试课程。测试类在沙箱中成功运行,没有任何错误,但显然该错误来自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 类型-顶点类 线-14 专栏-36 错误消息-方法不存在或签名不正确:类型为TestHelper的void createUser(Id,String,String,Date,Integer)
答案 0 :(得分:0)
您正在OppLineItemInvntryBO_AType_OppStge_Test类中使用5个参数来调用createUser方法,其中与TestHelper类一样,createUser方法仅接受2个参数。那就是为什么您收到此错误。尝试使用正确的参数调用该方法。