Salesforce 如何在控制器中测试get方法

Salesforce 如何在控制器中测试get方法,salesforce,apex-code,Salesforce,Apex Code,我的控制器中有一个要测试的属性: public List<SelectOption> exampleProperty { get { //Do something; } } 公共列表示例属性{ 得到{ //做点什么; } } 我不确定如何在我的测试类中涵盖这段代码。有什么想法吗?首先,您真的想要一个名为“method”的属性吗?看起来很混乱。不管怎样,为了涵盖代码,只需拨打 someObject.get(method); 但是代码覆盖率应该是编写

我的控制器中有一个要测试的属性:

public List<SelectOption> exampleProperty {
    get {
        //Do something;
    }
}
公共列表示例属性{
得到{
//做点什么;
}
}

我不确定如何在我的测试类中涵盖这段代码。有什么想法吗?

首先,您真的想要一个名为“method”的属性吗?看起来很混乱。不管怎样,为了涵盖代码,只需拨打

someObject.get(method);

但是代码覆盖率应该是编写好测试的副作用,而不是目标。您应该考虑代码应该做什么,并编写测试来检查(即断言)代码是否正常工作

首先,您真的想要一个名为“method”的属性吗?看起来很混乱。不管怎样,为了涵盖代码,只需拨打

someObject.get(method);

但是代码覆盖率应该是编写好测试的副作用,而不是目标。您应该考虑代码应该做什么,并编写测试来检查(即断言)代码是否正常工作

有直接的方法,只需从测试方法调用属性即可

List<SelectOption> temp = obj.method;
List temp=obj.method;

有直接的方法,只需从测试方法调用属性即可

List<SelectOption> temp = obj.method;
List temp=obj.method;

您可能需要直接测试您的属性,特别是如果您使用-a智能模式来提高代码的效率和可读性

以下是此模式的列表示例:

Integer[] lotteryNumbers {
    get {
        if (lotteryNumbers == null) {
            lotteryNumbers = new Integer[]{};
        }
        return lotteryNumbers;
    }
    set;
}
如果您想要完全覆盖该模式(当您习惯它时,这可能是一个好主意),您需要执行以下操作:

static testMethod void lotteryNumberFactoryText() {
    // test the null case
    System.assert(lotteryNumbers.size() == 0);

    Integer[] luckyNumbers = new Integer[]{33,8};
    lotteryNumbers.addAll(luckyNumbers);

    // test the not null case
    System.assert(lotteryNumbers == luckyNumbers);
}

您可能需要直接测试您的属性,特别是如果您使用智能模式来提高代码的效率和可读性

以下是此模式的列表示例:

Integer[] lotteryNumbers {
    get {
        if (lotteryNumbers == null) {
            lotteryNumbers = new Integer[]{};
        }
        return lotteryNumbers;
    }
    set;
}
如果您想要完全覆盖该模式(当您习惯它时,这可能是一个好主意),您需要执行以下操作:

static testMethod void lotteryNumberFactoryText() {
    // test the null case
    System.assert(lotteryNumbers.size() == 0);

    Integer[] luckyNumbers = new Integer[]{33,8};
    lotteryNumbers.addAll(luckyNumbers);

    // test the not null case
    System.assert(lotteryNumbers == luckyNumbers);
}

这是非常乐观的:)我也是这样开始的,然后当每一个部署开始花费10分钟来运行所有“适当”测试时,你就开始改变策略,并开始瞄准必要的覆盖范围:)哈哈。。没错。。。我工作的一些顾问坚持要得到最大限度的保障。。将名称视为方法是一个疏忽……当我输入代码时,这是非常乐观的:)我也是这样开始的,然后当每个部署开始花费10分钟来运行所有“适当”测试时,你开始改变策略并开始尝试必要的覆盖:)哈哈。。没错。。。我工作的一些顾问坚持要得到最大限度的保障。。将名称视为方法是一个疏忽..当我输入代码时