1
我有一個使用VF模板發送電子郵件的觸發器。我試圖爲該代碼編寫單元測試,但在嘗試創建測試數據時仍遇到問題。
這裏是我的測試方法:Visualforce電子郵件模板單元測試
static TestMethod void testQuestionAttachment(){
Id profileId = SYSTEM_ADMIN_PROFILE_ID;
List<User> users = TestUtils.createUsers(profileId, 1);
insert users;
string templateText = '<messaging:emailTemplate subject="{!relatedTo.Name}" recipientType="User" relatedToType="Cutom_Object__c"><messaging:htmlEmailBody ><ul><li>test content</li></ul></messaging:htmlEmailBody></messaging:emailTemplate>';
EmailTemplate template = new EmailTemplate(
developerName = 'TestEmailVFTemplate',
TemplateType= 'visualforce',
FolderId = users[0].Id,
Name = 'TestEmailVFTemplate',
IsActive = true);
template.HtmlValue = templateText;
template.Body = templateText;
System.runAs(users[0]){
insert template;
}
...
它失敗FIELD_INTEGRITY_EXCEPTION, <messaging:emailTemplate> is required and must be the outermost tag in the markup at line 1 column 1: [Markup]
。
我真的不明白爲什麼這不起作用。我必須缺少一些東西......
我不能改變模板類型爲'Text'在我的代碼監守我送的模板'WhatId'(自定義對象)和'TargetObject'(用戶)。對於那些不兼容的文本模板,但在VF模板中工作。 – AvailableName
@AvailableName你先試過嗎? –
是的,那是我第一次嘗試。 – AvailableName