मैं विकेट पेज टेस्ट का उपयोग करके अपने विकेट प्रोजेक्ट का परीक्षण करने की कोशिश कर रहा हूं।विकेट पेज टेस्ट, जेटी सुरक्षा कॉन्फ़िगरेशन
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]
मेरे TestNG सूट इस तरह दिखता है:
<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
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");
}
}
परीक्षण प्रारंभ इस त्रुटि फेंक जेट्टी का कारण बनता है
मैं इस तरह जेट्टी विन्यास बदलने पर इंटरनेट पर कुछ सुझाव मिले:
<?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>
लेकिन अब मैं अपने परीक्षणों में इस विन्यास शामिल करने के लिए कैसे नहीं होता। मैं क्या खो रहा हूँ? मुझे अपने परीक्षण के लिए जेटी को कैसे कॉन्फ़िगर करना चाहिए?
आप कैसे अपने web.xml संरचित है पर कुछ अधिक इनपुट के रूप में दे सकते हैं लगता है? मुख्य मुद्दा स्पष्ट रूप से है कि जेटी लॉगिन-कॉन्फ़िगरेशन के लिए लॉगिन सेवा नहीं ढूंढ सकता है। एक एम्बेडेड जेटी के साथ आप आमतौर पर "server.addBean (loginService)" द्वारा इस सेवा को जोड़ सकते हैं; " - लेकिन विकेट-टेस्टर जेटी सर्वर आदि को कैसे शुरू करें, इस पर बहुत अनुकूलन की इजाजत नहीं देता है –