我在Salesforce APEX中记下了触发器。它运作正常。
触发代码为:
trigger SDRDemoUpdate_test on Event (before update) {
Map<ID,Event> records = New Map<ID,Event>([SELECT CreatedBy.Name FROM Event WHERE ID IN: trigger.new]);
for (Event obj :Trigger.new){
obj.SDR_Original_Demo__c = records.get(obj.id).CreatedBy.Name;
}
}
现在我正在尝试为其测试类编写代码。它在线提供错误,说无法将对象解析为String。
测试类代码为:
@isTest
public class originalDemo {
static testMethod void test_original_demo() {
Event obj = new Event();
obj.CreatedBy = 'Tom';
obj.Owner = 'Jack';
obj.What = 'Opportunity';
insert.obj;
userInfo.getName();
}
}
期待找到解决方案。任何帮助将不胜感激。
由于
答案 0 :(得分:0)
您在这些方面的问题
obj.CreatedBy = 'Tom';
obj.Owner = 'Jack';
obj.What = 'Opportunity';
您尝试将String
传递给需要Id
的字段。
User user = [SELECT Id FROM User LIMIT 1];
obj.CreatedById = UserInfo.getUserId();
obj.OwnerId = user.Id;
obj.WhatId = opportunity.Id;