2016-01-07 2 views
1

Теперь я делаю тестовый пример Apex для очистки кода.Salesforce/Apex, Почему класс TestDataFactory включен в процент покрытия кода?

Используется обычный код следующий как,

https://developer.salesforce.com/docs/atlas.en-us.198.0.apexcode.meta/apexcode/apex_testing_utility_classes.htm

TestDataFactory

@isTest 
public class TestDataFactory{ 
    public List<Account> createAccounts(){ 
     // data create... 
     return accounts; 
    } 
    // data create methods... 
    . 
    . 
    . 
} 

MyTestClass

@isTest 
private class MyTestClass { 
    static testmethod void test1() { 
     TestDataFactory.createAccounts(); 
     // Run some tests 
    } 
    // other testmethods 
    . 
    . 
    . 
} 

Число строк моего класса TestDataFactory равно 100 линиям, а MyTestClass 100lines - это тестовая логика, уже завершенная оболочка кода.

Таким образом, 100 линий/200 линий. Покрытие кода составляет 50%.

Потому что покрытие кода класса TestDataFactory равно 0%.

Как его решить?

Прошу прощения за плохой английский. Спасибо, что прочитали.

ответ

1

Работает должным образом. Вскоре

В том числе кода, кроме методов испытаний в качестве @isTest аннотированный класса заставит эти строки будут подсчитаны в цифрах покрытия в целом код

Пожалуйста, проверьте Why is a Test class evaluated as part of the Organization’s Code Coverage?

Я предлагаю, вы удаляете @isTest из класса TestDataFactory, чтобы никого не путать. Он будет покрыт 100% при использовании всех методов в тестах.

+0

Удивительный! Это решение, которое я искал. Спасибо! –

Смежные вопросы