2015-03-24 18 views
5

Wicket Page Testini kullanarak wicket projemi test etmeye çalışıyorum.Wicket sayfa testi, Jetty güvenlik yapılandırması

2015-03-24 17:46:24,789 WARN [:] [main] [] [||] - org.eclipse.jetty.webapp.WebAppContext - Failed startup of context o.e.j.w.WebAppContext 
java.lang.IllegalStateException: No LoginService for [email protected]51268 in [email protected] 

Benim TestNG paketi şöyle:

<suite name="wicket-page-test-sample"> 
<test verbose="2" name="tests" annotations="JDK"> 
    <packages> 
     <package name="..."></package> 
    </packages> 
    <classes> 
     <class name="com.ttdev.wicketpagetest.WebPageTestContext"></class> 
     <class name="nl.pack.test.MessagePanelTest"></class> 
    </classes> 
</test> 

test sınıf şuna benzer:

@Test 
public class MessagePanelTest 
{ 
    public void testOpenComponent() 
    { 

     final StringBuffer log = new StringBuffer(); 
     MockableSpringBeanInjector.mockBean("hibernateService", mock(HibernateService.class)); 

     WicketSeleniumDriver ws = WebPageTestContext.getWicketSelenium(); 
     ws.openComponent(new ComponentFactory() 
     { 
      private static final long serialVersionUID = 1L; 

      public Component createComponent(String id) 
      { 
       return new MessagePanel(mock(AjaxRequestTarget.class)); 
      } 
     }); 
     assert ws.getText(By.id("info")).equals("Hello"); 
    } 
} 
testi başlatılıyor

bu hatayı atmak Jetty neden olur

Böyle İskele yapılandırmasını değiştirme konusunda internette bazı önerilerde bulundu:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> 
<Configure class="org.eclipse.jetty.webapp.WebAppContext"> 
    <Get name="securityHandler"> 
     <Set name="loginService"> 
      <New class="org.eclipse.jetty.security.HashLoginService"> 
       <Set name="name">MySecurityRealm</Set> 
       <Set name="config">src/test/resources/jetty-realm.properties</Set> 
       <Call name="start"/> 
      </New> 
     </Set> 
     <Set name="checkWelcomeFiles">true</Set> 
    </Get> 
</Configure> 

Ama şimdi testlerde bu yapılandırmayı dahil etmek olmaz nasıl. Neyi kaçırıyorum? Test için iskeleyi nasıl yapılandırmalıyım?

+0

bağlantılar bulmak Sorunuza aradı ama? Asıl mesele, iskelenin login-config için bir loginService bulamamasıdır. Gömülü bir iskele ile normal olarak bu hizmeti "server.addBean (loginService); - ama wicket-tester, jetty sunucuya nasıl başlayacağınıza dair bir çok özelleştirme yapılmasına izin vermez. –

cevap

0

Im bir java pro i bazı faydalı size web.xml yapılandırılmıştır konusunda daha fazla girdi olarak verebilir Link 1Link 2link 3

+0

Lütfen sadece bağlantılara izin vermeyin, ancak bağlantılardan kopma eğilimi olan onlardan bazı alakalı bilgileri ekleyin. – RobAu

+0

Bağlantılar güncel olmayan veya kullanılamamış bilgileri işaret eder. Cevapta bir bağlam yoktur ve bu yüzden bağlantıları kullanmak çok zordur. –

+0

kardeşim görüşme tarihini iyi görüyorsun. –