ऐसा करने के दो तरीके हैं।
मानक तरीका क्लास के उसी पैकेज में परीक्षण के लिए अपनी टेस्ट क्लास को परिभाषित करना है। यह आसानी से किया जाना चाहिए क्योंकि आधुनिक आईडीई डिफ़ॉल्ट रूप से परीक्षण किए जा रहे वर्ग के उसी पैकेज में परीक्षण केस उत्पन्न करता है।
गैर मानक लेकिन बहुत उपयोगी तरीका प्रतिबिंब का उपयोग करना है। यह आपको निजी पैकेज को "पैकेज निजी" के बजाय वास्तविक "निजी" के रूप में परिभाषित करने की अनुमति देता है। उदाहरण के लिए, यदि आपके पास कक्षा है।
class MyClass {
private Boolean methodToBeTested(String argument) {
........
}
}
आप इस तरह अपने परीक्षा पद्धति हो सकता है:
class MyTestClass {
@Test
public void testMethod() {
Method method = MyClass.class.getDeclaredMethod("methodToBeTested", String.class);
method.setAccessible(true);
Boolean result = (Boolean)method.invoke(new MyClass(), "test parameter");
Assert.assertTrue(result);
}
}
वे निजी हैं या निजी पैकेज? यदि वे पैकेज निजी हैं, तो आप उन्हें किसी भी अन्य वर्ग की तरह परीक्षण कर सकते हैं, बशर्ते आपके परीक्षण एक ही पैकेज में हों (जो उन्हें चाहिए) ... – assylias