如何为触发器编写测试用例?

时间:2011-09-19 05:21:08

标签: salesforce

我有一个触发器,可以将相关帐户中的帐单街道地址复制到相关联系人的其他街道地址。我在网上阅读材料写这个触发器是对的吗?有没有更好的方法来写它?

Public class iTestClass {

    public static testmethod void test() 
      {
            Contact objContact1;
            Contact objContact2;

            objContact1 = New Contact();
            objContact1.OtherStreet = '123 lane';
            objContact1.OtherCity = 'Washington';
            objContact1.OtherState = 'OR';
            objContact1.OtherCountry = 'USA';
            objContact1.OtherPostalCode = '12122';

            objContact2 = New Contact();
            objContact2.OtherStreet = '232 st.';
            objContact2.OtherCity = 'cleveland';
            objContact2.OtherState = 'OH';
            objContact2.OtherCountry = 'USA';
            objContact2.OtherPostalCode = '166030';
        }
    }

1 个答案:

答案 0 :(得分:1)

您的排名是正确的,但a)您没有插入联系人记录,b)您需要先插入一个帐户,然后在插入之前在这些联系人上设置帐户ID。

// before creating the contacts create an account
Account sAcct = new Account();
sAcct.Name = 'Test Account';
sAcct.BillingStreet = '1 Some Street'; // I forget the name of the field!
// etc.
insert sAcct;

// then on your contacts do this:
objContact1.Account = sAcct.Id;

// then insert them at the end to fire the trigger
insert objContact1;