संकलित नहीं करता है वसंत 3.2.5 → 4.0.0 संस्करण अद्यतन के बाद स्रोतों को संकलित करने का प्रयास करते समय मुझे अजीब व्यवहार है।स्प्रिंग 4 एमवीसी यूनिट परीक्षण
दोषपूर्ण कोड स्निपेट से ApplicationControllerTest.java
(यह documentation से कोड के बराबर है):
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
...
@Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;
@Before
public void setUp() {
mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
}
त्रुटि:
COMPILATION ERROR : /C:/Development/.../war/src/test/java/org/.../web/controller/ApplicationControllerTest.java:[59,61] C:\Development\...\war\src\test\java\org\...\web\controller\ApplicationControllerTest.java:59: incompatible types; inferred type argument(s) java.lang.Object do not conform to bounds of type variable(s) B found : <B>org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder<B> required: java.lang.Object
एक MockMvcBuilders
स्रोतों में लग रहा है, एक अंतर देख सकते हैं:
वसंत 4.0.0:
public static <B extends DefaultMockMvcBuilder<B>> DefaultMockMvcBuilder<B> webAppContextSetup(WebApplicationContext context) {
return new DefaultMockMvcBuilder<B>(context);
}
वसंत 3.2.5:
public static DefaultMockMvcBuilder<DefaultMockMvcBuilder<?>> webAppContextSetup(WebApplicationContext context) {
return new DefaultMockMvcBuilder<DefaultMockMvcBuilder<?>>(context);
}
मेरे प्रयास यह compilable बनाने के लिए सफल नहीं किया।
असल में Spring documentation कहता है कि ढांचा जावा 1.6.0_10 संगत होना चाहिए। मैं जावा 1.6.0_45 का उपयोग करता हूं।
ऐसा लगता है कि वे सीमा के साथ एक प्रकार पैरामीटर के लिए एक असीम वाइल्डकार्ड प्रकार का बदला है। मुझे लगता है कि आपने एक मुद्दा खोला होगा। –
हां, मैं बदलाव देखता हूं और वे समझ में आते हैं। मुझे समझ में नहीं आता क्यों संकलक इस पैरामीट्रेशन के साथ सामना नहीं कर सकता है और मैं जेडीके 1.6.0_45 (या कोई अन्य 1.6.x संस्करण) कैसे काम कर सकता हूं। –