Testen Sie die private Methode in Java

MD Aminul Islam 12 Oktober 2023
Testen Sie die private Methode in Java

Wenn Sie als Tester arbeiten, können Sie viele Testoperationen an dem gegebenen Code durchführen. Aber manchmal ist die Durchführung einer Testoperation nicht zugänglich, wenn Sie eine Klasse haben, die eine private Methode enthält.

Eine private Methode ist eine Methode, auf die von aussen nicht zugegriffen werden kann, was bedeutet, dass Sie sie nicht von aussen aufrufen können. Es ist nur für die internen Elemente der Klasse verfügbar.

Es wird nur auf den internen Aufruf reagieren, aber es gibt eine Idee, mit der Sie schnell eine private Methode testen können. Dieser Artikel zeigt, wie wir eine private Methode testen können.

Testen Sie die private Methode in Java

Angenommen, wir haben eine Klasse wie die folgende, die wir testen müssen:

class MyClass {
  private int Sum(int a, int b) { // method is private
    return a + b;
  }
}

Wie wir sehen können, hat der obige Code eine private Methode namens Sum(). Mal sehen, was passiert, wenn wir versuchen, die Methode mit einer anderen Klasse namens Test zu testen.

public class Test {
  public static void main(String[] args) {
    // Created an object for the class "MyClass"
    MyClass mc = new MyClass();

    // Error: Called the private method externally
    System.out.println("The result is: " + mc.Sum(4, 5));
  }
}

Es wird Sie mit dem folgenden Fehler zurückgeben:

error: Sum(int,int) has private access in MyClass

Da die Sum() eine private Methode in der Klasse MyClass ist, können wir von aussen nicht darauf zugreifen. Die einzige Möglichkeit, dies zu überprüfen, besteht nun darin, eine öffentliche Methode in die Klasse MyClass aufzunehmen, die die Methode Sum() aufruft.

Die öffentliche Methode sieht wie folgt aus:

public int NewSum(int a, int b) {
  // A public method that can call the private method internally.
  return Sum(a, b);
}

Die obige Methode ruft die Methode Sum() auf, da sie sich innerhalb der Klasse MyClass befindet. Nun sieht die Vollversion der Klasse MyClass so aus:

class MyClass {
  private int Sum(int a, int b) { // Private method
    return a + b;
  }
  public int NewSum(int a, int b) { // Public method
    return Sum(a, b);
  }
}

Nach dem Update von MyClass können Sie nun die private Methode Sum() testen. Aber Sie müssen die öffentliche Methode NewSum() aus dem Objekt von MyClass aufrufen.

Jetzt sieht unsere aktualisierte Testklasse wie folgt aus:

class Test {
  public static void main(String[] args) {
    // Created an object for the class "MyClass"
    MyClass mc = new MyClass();

    // Called the public method "NewSum()"
    System.out.println("The result is: " + mc.NewSum(4, 5));
  }
}

Im obigen Code Fence können Sie sehen, dass wir die Klasse NewSum() aus der Objektklasse MyClass aufgerufen haben. Wenn die Methode Sum() keinen Fehler oder Fehler aufweist, zeigt sie Ihnen die folgende Ausgabe:

The result is: 9

Oben haben wir die grundlegendste Methode zum Testen einer privaten Methode geteilt und sehen, ob sie gut funktioniert.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn