2015-10-15 8 views
6

काम नहीं करता मैं एक एंड्रॉयड इकाई परीक्षण के लिए @VisibleForTesting एनोटेशन की कोशिश करना चाहता था - मैं एक एनोटेट विधि के साथ एक वर्ग है:@VisibleForTesting अपेक्षा के अनुरूप

public class Foo { 

    public void bar() { 
    } 

    @VisibleForTesting 
    private void baz() { 
    } 
} 

लेकिन यूनिट-टेस्ट मैचों में मैं अभी भी कर सकते हैं केवल बार देखें - नहीं

उत्तर

5

इस एनोटेशन का बिंदु यह है कि इसका सम्मेलन और स्थिर कोड विश्लेषण में उपयोग किया जा सकता है।

अपनी विधि की दृश्यता package पर बदलें। इस मामले में आपकी विधि ने परीक्षण के लिए दृश्यता कम कर दी है और केवल उसी पैकेज में परीक्षणों के लिए दृश्यमान है।

public class Foo { 

    public void bar() { 
    } 

    @VisibleForTesting 
    /* package */ void baz() { 
    } 
} 
संबंधित मुद्दे