Mit helper-Methoden in junit-Klasse

Möchte ich unit-test einer Klasse Class A, aber es hat eine Abhängigkeit zu einer anderen Klasse verwendet, die eine user session Methode. Die Methode, die ich testen will, nicht um user session. Kann ich machen-Helfer-Methode in Class A würde, repliziert das Verhalten der Class B Methode, die ich brauche?

Ich weiß, es ist nicht klar, lasst uns Graben einige code, um ein klares Verständnis....

public void testDetails() throws Exception
{
    //Some logic that generates DetailsTOList
    saveDetailsHelper(DetailsTOList);
    int detailsSize = getDetailsSize();
    assertNotNull(detailsSize);
}

Nun getDetailsSize() bekommen Größe Informationen aus einer Datenbank. Class B hat diese Methode, aber ich kann nicht erstellt ein Objekt der Class B und testen Sie diese Methode, da Class B bekommt die session-Informationen aus User, und ich kann die session-Informationen aus dem JUnit-Klasse.

Habe ich erstellt saveDetailsHelper Methode, die repliziert Verhalten Class B - saveDetails() Methode, und fordere, dass in testDetails() Methode, wie oben dargestellt.

Meine Frage:

  1. können, haben wir die helper-Methoden in junit class?
  2. Was ist der beste Ansatz, um mit dieser situation umgehen?
  • Wenn Sie nicht können oder nicht wollen, um echtes Class B Funktionalität in Ihren tests, aber haben wollen ", wie es wäre zu arbeiten" - werfen Sie einen Blick auf Das Konzept der Spott - dies kann sein, was du suchst
  • +1 für die Verwendung von mocks. Dies ist der Grund, verspottet, wurden erfunden.
InformationsquelleAutor Rachel | 2012-06-05
Schreibe einen Kommentar