2016-01-07 38 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?

我建議,您從TestDataFactory類中刪除了@isTest,以免混淆任何人。當您在測試中使用所有方法時,它將覆蓋100%。

+0

太棒了!這是我一直在尋找的解決方案。謝謝! –