2015-10-21 14 views
6

मैं अपने प्रोजेक्ट पर अपनी शुद्ध जावा फाइलों पर शुद्ध जुनीट 4 जावा परीक्षण चला रहा हूं लेकिन मुझे मैन्युअल रूप से सार्वजनिक रूप से सार्वजनिक किए बिना स्पष्ट रूप से @VisibleForTesting का उपयोग करने का कोई तरीका नहीं मिल रहा है।शुद्ध जुनीट परीक्षणों के लिए VisibleForTesting का उपयोग कैसे करें

पूर्व:

@VisibleForTesting 
public Address getAddress() { 
    return mAddress; 
} 

विधि public यह परीक्षण करने के लिए "सार्वजनिक" हो जाने के लिए हो गया है, लेकिन इस मामले में टिप्पणी भावना सही नहीं है? अगर एनोटेशन कुछ भी नहीं करेगा तो सिर्फ एक टिप्पणी का उपयोग क्यों न करें?

उत्तर

18

विधि पैकेज-निजी बनाएं और परीक्षण यह देखने में सक्षम होगा, यदि परीक्षण इसी परीक्षण पैकेज (उत्पादन कोड के समान पैकेज नाम) में है।

@VisibleForTesting 
Address getAddress() { 
    return mAddress; 
} 

यह भी आपके कोड को दोबारा करने पर विचार करें ताकि आपको स्पष्ट रूप से एक निजी विधि का परीक्षण करने की आवश्यकता न हो, सार्वजनिक इंटरफ़ेस के व्यवहार का परीक्षण करने का प्रयास करें। कोड जो परीक्षण करना मुश्किल है, यह संकेत हो सकता है कि उत्पादन कोड में सुधार किए जा सकते हैं।

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

संबंधित मुद्दे