Ersetzen Sie Spring Bean in einem Kontext durch eine Scheinversion aus einem anderen Kontext

Ich schreibe einen Integrationstest, bei dem ein Anwendungskontext-XML-Code während des Startvorgangs initialisiert wird. In der Testklasse gibt es mehrere Testmethoden, die ein bestimmtes Bean 'X' verwenden (bereits in der XML definiert). Meine eigentliche Anforderung ist, Bean X nur für eine der Testmethoden zu verspotten.

Innerhalb einer Testmethode: Ich habe versucht, mithilfe von ClassPathXMLApplicationContext einen separaten Anwendungskontext nur mit dem Mock-Bean 'M' zu erstellen.

Jetzt habe ich zwei Anwendungskontexte (AC): 1. Einen, der beim Start des Testfalls erstellt wurde (der die eigentliche Bean X enthält) und 2. Einen, der mit ClassPathXMLApplicationContext innerhalb der Testmethode erstellt wurde (der die Mock-Bean M enthält).

Ich möchte die eigentliche Bean-Definition 'X' in AC: 1 durch die Mock-Bean-Definition 'M' in AC: 2 ersetzen.

Kann jemand bitte etwas Licht darauf werfen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage