Heim  >  Artikel  >  Java  >  Wie integriere ich Junit zwischen Java und Spring?

Wie integriere ich Junit zwischen Java und Spring?

WBOY
WBOYnach vorne
2023-04-21 11:13:071219Durchsuche

    1 Probleme und Lösungen in der Testklasse

    1.1 Problem

    • In der Testklasse verfügt jede Testmethode über die folgenden zwei Codezeilen:

      • ApplicationContext ac = new ClassPathXmlApplicationContext(" Bean .xml");

      • IAccountService as = ac.getBean("accountService",IAccountService.class);

    • Die Funktion dieser beiden Codezeilen besteht darin, den Container abzurufen. Wenn Sie ihn nicht schreiben , wird direkt eine leere Zeigerausnahme ausgelöst. Daher kann es nicht einfach gelöscht werden.

    1.2 Analyse von Lösungsideen

    • Angesichts der oben genannten Probleme ist es erforderlich, dass das Programm automatisch Container erstellen kann.

    • junit kann nicht wissen, ob das Federgerüst verwendet wird, und kann keinen Federcontainer erstellen, aber junit stellt eine Annotation bereit, die seinen Läufer ersetzen kann.

    • Sie müssen sich auf den vom Spring Framework bereitgestellten Runner verlassen. Sie können die Konfigurationsdatei (oder Anmerkungen) lesen, um den Container zu erstellen. Sie müssen ihm nur mitteilen, wo sich die Konfigurationsdatei befindet. 2 Konfigurationsschritte Frühling .

    2.2 Schritt 2: Verwenden Sie die Annotation @RunWith, um den ursprünglichen Läufer zu ersetzen.
      @RunWith(SpringJUnit4ClassRunner.class)
      public class AccountServiceTest {
      }
      . 2.3 Schritt 3: Verwenden Sie @ContextConfiguration, um den Speicherort der Federkonfigurationsdatei anzugeben
    • locations-Attribut: Wird verwendet, um den Speicherort der Konfigurationsdatei anzugeben. Wenn es sich im Klassenpfad befindet, müssen Sie classpath: verwenden, um anzugeben.

    Wie integriere ich Junit zwischen Java und Spring?

    classes-Attribut: Wird verwendet, um die Klassen der Annotation anzugeben. Wenn Sie keine XML-Konfiguration verwenden, müssen Sie dieses Attribut verwenden, um den Speicherort der Annotationsklasse anzugeben.

      2.4 Schritt 4: Verwenden Sie @Autowired, um Daten in die Variablen in der Testklasse einzufügen Spring lädt die Konfigurationsdatei, um den Container zu erstellen, und das Objekt wird erstellt.
    • Zweitens: Die Testklasse wird nur beim Testen von Funktionen im Projekt verwendet. Sie nimmt nicht an der Programmlogik teil und löst keine Bedarfsprobleme. Daher wird sie erstellt, aber nicht verwendet. Dann führt die Lagerung im Container zu einer Verschwendung von Ressourcen.

    Das obige ist der detaillierte Inhalt vonWie integriere ich Junit zwischen Java und Spring?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen