2017-03-03 27 views
-1

私はEntityManagerと私が持っている他のクラスをautowiresする簡単なRestControllerを作成しました。私は私のアプリを実行すると、すべてが動作し、autowiresが定義されています。今、私は私のクラスのための簡単なテストを作成しようとしました:「名前の作成中にエラーが発生しまし豆:org.springframework.beans.factory.UnsatisfiedDependencyException:ここSpringテストでAutowireが動作しない

@RunWith(SpringJUnit4ClassRunner.class) 
@WebAppConfiguration 
@EnableWebMvc 
@ContextConfiguration(classes = MonitoringController.class) 
public class MonitoringControllerTest { 

    private MockMvc mockMvc; 

    @Autowired 
    WebApplicationContext wac; 

    @Before 
    public void setup() {mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); 

    } 

    @Test 
    public void testMonitoringIsUp()throws Exception { 
     mockMvc.perform(get("/monitoring")) 
       .andExpect(status().isOk()); 
    } 

が問題を開始し、私はに起因する誤差 を取得していますmonitoringController ':フィールド' em 'で表される満足しない依存関係。ネストされた例外はorg.springframework.beans.factory.NoSuchBeanDefinitionExceptionです: 'javax.persistence.EntityManager'タイプの適格なBeanはありません:予期しない候補として少なくとも1つのbeanが必要です。依存関係の注釈:{@ org.springframework.beans.factory.annotation.Autowired(必須= true)}

私は非常に単純なものが欠けていると思います。どんな助けもありがたい。

答えて

0

解決策が見つかりました。 EntityManagerの問題を解決した@EnableAutoConfigurationが追加されました。

+0

を読みますか? – milosmns

0

使用しているスプリングのバージョンを確認してください。春のブート1.4.xのではと 上必要なものは次のとおりです。

@RunWith(SpringRunner.class) 
@SpringBootTest 
public class MonitoringControllerTest { 
    // autowire beans and perform tests with @Test 
} 

は、あなたがこれを追加しました。このspring boot tests improvments

関連する問題