【问题标题】:How do I write a basic test class for my pageBlockTable controller?如何为我的 pageBlockTable 控制器编写一个基本的测试类?
【发布时间】:2015-03-07 01:44:07
【问题描述】:

我对 Apex 代码开发非常陌生,对如何为我的基本控制器创建测试类感到困惑。这是我的控制器:

public class BuyerAlert{

    public List<Buyer__c> listOfBuyer {get; set;}
    public Buyer__c Buyer {get;set;}

    public BuyerAlert() {
        listOfBuyer = [Select id, name, Raw_Conversion__c, Call_Dur__c, Sold_Calls_Today__c from Buyer__c WHERE  Buyer_Call_Handling_Alert__c = TRUE ORDER BY Sold_Calls_Today__c DESC];
    }
}

我到处搜索,并尝试使用十几种不同的模板,但总是碰壁。谁能帮帮我?

【问题讨论】:

    标签: salesforce visualforce apex


    【解决方案1】:
    1. 创建一个单独的测试类(即 BuyerAlertTest.cls)
    2. 在类的顶部添加以下注释:@isTest。 另外:您也可以使用@seeAllData=True,但不建议这样做。网上有无数文章讨论这个话题,这超出了这个问题的范围。
    3. 创建测试方法
    4. 为您的对象创建示例数据。我们建议创建一个可以包含示例测试数据的测试实用程序类,但现在,让我们只关注一个简​​单的测试类。

       @isTest
       public class BuyerAlertTest
       {
          public static testmethod void testBuyerAlertConstructor()
          {
               try
               {
                 // Create sample data.
                 Buyer__c buyer = new Buyer__c ();
                 buyer.Name = 'Test Buyer';
                 buyer.Sold_Calls_Today__c = 5;
                 upsert buyer;
      
                 // Instantiate your controller class now
                 BuyerAlert buyerAlert = new BuyerAlert();
      
                 // Verify your data with relevant predicates. You only have a constructor to test, so this is just a basic assertion
                 system.assertEquals('Test Buyer', buyer.Name);
               }
               catch(Exception ex)
               {
                  system.debug(ex.getMessage());
               }
          } 
      }
      

    【讨论】:

      猜你喜欢
      • 2012-12-25
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多