2012-03-02 2 views

ответ

3

Существует прямой путь, просто вызовите свойство от метода испытаний

List<SelectOption> temp = obj.method; 
0

Во-первых, вы действительно хотите иметь атрибут с именем «метод»? Кажется, хеллу сбивает с толку. Во всяком случае, для покрытия кода, просто позвоните

someObject.get(method); 

Но покрытие кода должно быть побочным эффектом писать хорошие тесты - не цель. Вы должны думать о том, что должен делать код, и писать тесты, чтобы проверить (то есть утверждать), что он работает.

+0

это очень оптимистично :) то, как я начал так же, тогда, когда каждое развертывание начинает принимать 10 минут, чтобы запустить все «правильные» тесты вы начинаете изменения стратегии и начать торкрет необходимого покрытия :) – mmix

+0

ха-ха .. это правда ... Некоторые из консультанты, над которыми я работаю, настаивают на максимальном охвате. Что касается имени как метода, то это был надзор. Когда я ввел код в код – Prady

1

Вам может потребоваться непосредственно проверить свои свойства, особенно если вы используете lazy initialization - умный шаблон для создания кода эффективного и читаемым.

Вот пример список этой модели:

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); 
} 
Смежные вопросы