Der erste Fehler: INVALID_CROSS_REFERENCE_KEY, Zugewiesen ID: Inhaber darf nicht leer sein: [OwnerId]
Schreibe ich einen test für meinen controller. Dafür habe ich zum einfügen eines Ereignisses in die Datenbank testen.
Meine test-Methode:
static TestMethod void Test1_TestInsertWithValue()
{
Meeting_Master__c master = new Meeting_Master__c();
Event event = new Event();
Profile p = [SELECT Id From Profile WHERE Name='Standard User'];
User u2 = new User(Alias = 'newUser', Email = '[email protected]', EmailEncodingKey = 'UTF-8', LastName = 'Testing',
LanguageLocaleKey = 'en_US', LocaleSidKey='America/Los_Angeles', UserName='[email protected]', ProfileId=p.Id);
event.OwnerId = u2.Id;
event.StartDateTime = datetime.newInstance(2008, 12, 1);
event.EndDateTime = datetime.newInstance(2008, 12, 30);
event.subject = 'call';
event.WhatId = master.Id;
insert master;
insert event;
...........
}
Wenn die insert-Ereignis tritt ein, ich bin mit diesem Fehler:
System.DmlException: Insert fehlgeschlagen. Erste Ausnahme in Zeile 0; first error: INVALID_CROSS_REFERENCE_KEY, Zugewiesen ID: Inhaber darf nicht leer sein: [OwnerId]
Wie kann ich das beheben dieser Fehler?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als die erste option, die Sie einfügen können test-Nutzer:
Die zweite option ist zu versuchen zu verwenden
System.runAs()
http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_testing_tools_runas.htm
Haben Sie vergessen, legen Sie
u2
vor der Zeileevent.OwnerId =u2.Id;
.