私のSpringセキュリティフォームをテストしようとしています。私は私のプロジェクトで完全な注釈設定をしています(下を見てください)。今私はSpringJUnit4ClassRunnerでテストケースを設定しようとしており、その中のいくつかの条件をチェックしています。 @ContextConfiguration注釈に自分のコンテキスト設定が表示されないため、私はそれを行うことができません。私はAbstractAnnotationConfigDispatcherServletInitializerを使用してプロジェクトを設定します。以下のコードも参照してください。SpringJUnit4ClassRunnerは、Java設定で定義されたコンテキストでmyが表示されません。
これはテストクラスである:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = WebInit.class)
public class test {
@Autowired
private WebApplicationContext context;
private MockMvc mockMvc;
@Before
public void setup() {
mockMvc = MockMvcBuilders
.webAppContextSetup(context)
.apply(springSecurity())
.build();
}
@Test
public void someTest() throws Exception {
mockMvc.perform(post("/").with(csrf().asHeader()).with(user("testuser").roles("USER")));
}
}
これは、Configクラスである:
@Configuration
public class WebInit extends AbstractAnnotationConfigDispatcherServletInitializer {
protected Class<?>[] getRootConfigClasses() {
return new Class[]{RootConfig.class, SecurityConfig.class};
}
protected Class<?>[] getServletConfigClasses() {
return new Class[]{WebConfig.class};
}
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
そしてまた、私は、エラーログ
SEVEREを囲む:キャッチ例外TestExecutionListenerを可能にしながら、テストインスタンスを準備する[org.springframewor[email protected]4157f54e] [email protected]] org.springframework.beans.factory.BeanCreationException: 'securityTests.test'という名前のBeanを作成中にエラーが発生しました:自動依存依存の注入が失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドをautowireできませんでした:private org.springframework.web.context.WebApplicationContext securityTests.test.context;ネストされた例外はorg.springframework.beans.factory.NoSuchBeanDefinitionExceptionです:[org.springframework.web.context.WebApplicationContext]タイプの修飾Beanが見つかりません:この依存関係のautowire候補となる少なくとも1つのbeanが必要です。依存関係のアノテーション:{@ org.springframework.beans.factory.annotation.Autowired(=真必須)}
はすべての私の春の依存関係はのpom.xmlで同じバージョン(スプリング4.2.3.RELEASE)を持っています。私は私のためのコンテキストを設定する.xmlファイルを作成したくありません。私はすべてjava構成でやりたいどうすればいいのですか? 事前にお礼をお寄せください