Context hochfahren, Beans ändern, Server starten??

sambacket

Mitglied
Hallo,

ich habe ein kleines Problem. Ich habe eine Webanwendung, die ich testen möchte. Dafür soll ein JUnit-Test geschrieben werden, der folgende Anforderungen erfüllen muss:

1. Spring-Context hochfahren
2. Beans im geladenen Context editieren. z.b. PropertyUtils.setProperty(userService, "name", "999")
3. Webanwendung starten mit nem Jetty-server und dem editierten Context.
4. Http-Requests schicken
5. Auswerten des Response

Meine Frage, wie realisiere ich Punkt 3? den Rest schaffe ich.

Oder ist der Lösungsansatz zu kompliziert. Ich habe es auch andersherum probiert und die Webanwendung komplett geladen. Nur kann ich dann keine Beans mehr verändern, Oder?


Ich brauche nicht unbedingt eine Implementierung, sondern nur den Lösungsweg..

Sam
 
Zuletzt bearbeitet:
S

Sym

Gast
Das hört sich komisch an. Was genau möchtest Du damit denn lösen? Also was ist Dein eigentliches Problem?
 

sambacket

Mitglied
Ich möchte für jeden Test sie Serverantworten bestimmen..So, dass ich Einfluss auf Input + Output habe. Daher versuche ich manche Bean Properties zu ändern..

Sam
 
S

Sym

Gast
Was ist denn Dein Input/Output? Ich verstehe noch nicht ganz, was Du versuchst, zu tun.

Vielleicht hast Du ja mal ein Beispiel :)
 

sambacket

Mitglied
Hier mal ein Code Beispiel, was ich meine:

Java:
// Konfiguriere Beans in webTest.xml(Siehe weite runten) und übernehme für nächsten Schritt
???

//Start Server mit Jetty
private Server server = new Server(8080);
WebAppContext root = new WebAppContext();
root.setWar("src/main/webapp");
root.setContextPath("/web");
root.setOverrideDescriptor("src/test/resources/webTest.xml"); //überschreibt normale ApplicationContext mit neuen Bean-Properties
server.addHandler(root);
server.start();

//Teste WebApplication mit Html-Unit
WebClient webClient = new WebClient(BrowserVersion.getDefault());
HtmlPage page = webClient.getPage(url);
Assert.assertTrue(page.irgendwas);


Wie gesagt, die andere Möglichkeit, die ich eigentlich bevorzuge, ist, dass die Webapp starte und ich Context-Beans während der Laufzeit ändere...Was aber wohl nicht gehen wird, oder..da der Server ja seperat läuft?!
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben