Context hochfahren, Beans ändern, Server starten??

Dieses Thema Context hochfahren, Beans ändern, Server starten?? im Forum "Application Tier" wurde erstellt von sambacket, 24. Nov. 2011.

Thema: Context hochfahren, Beans ändern, Server starten?? Hallo, ich habe ein kleines Problem. Ich habe eine Webanwendung, die ich testen möchte. Dafür soll ein JUnit-Test...

  1. 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: 24. Nov. 2011
  2. Vielleicht helfen dir diese Java-Grundlagen weiter --> *Klick*
  3. Sym
    Sym
    Das hört sich komisch an. Was genau möchtest Du damit denn lösen? Also was ist Dein eigentliches Problem?
     
  4. 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
     
  5. Sym
    Sym
    Was ist denn Dein Input/Output? Ich verstehe noch nicht ganz, was Du versuchst, zu tun.

    Vielleicht hast Du ja mal ein Beispiel :)
     
  6. Hier mal ein Code Beispiel, was ich meine:

    Code (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: 25. Nov. 2011
  7. KOSTENLOSES Java-Grundlagen Training im Wert von 39 € Sichere dir hier den kostenlosen Zugriff auf umfangreiches Java-Know How und starte richtig durch!