私はSpringbootとHibernateを使ってアプリケーションを作成しました。SpringBootでDAOレイヤーのユニットテストを設定する
これはDAOインターフェイスです。
public interface OrderDetailsDao {
void createOrder(OrderDetails orderDetails);
void updateOrder(OrderDetails orderDetails);
void deleteOrder(OrderDetails orderDetails);
}
これはその後、私は、私は両方のテストのリソースにapplication.propertiesファイルを入れている、次の
@RunWith(SpringJUnit4ClassRunner.class)
public class OrderDetailsDaoTest {
OrderDetails orderDetails = new OrderDetails();
@Autowired
OrderDetailsDao orderDetailsDao;
@Test
public void testCreateOrder(){
orderDetails.setValue(101.91);
orderDetailsDao.createOrder(orderDetails);
}
}
としてテストクラスを作成したDAOインタフェースimplemnetation
public class OrderDetailsDaoImpl extends HibernateDaoSupport implements OrderDetailsDao {
public void createOrder(OrderDetails orderDetails){
getHibernateTemplate().save(orderDetails);
}
public void updateOrder(OrderDetails orderDetails){
getHibernateTemplate().save(orderDetails);
}
public void deleteOrder(OrderDetails orderDetails){
getHibernateTemplate().delete(orderDetails);
}
}
ですsrcディレクトリに移動します。
私はこのユニットテストケースを実行しようとしたが、それは次のエラーのため失敗します。
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.abdul.epl.repo.OrderDetailsDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
は、だから私は、DAO層のためのユニットテストを設定するための最良の方法を喜ば知っているだろうか?
アプリケーションに関する十分な情報を共有していません。 'OrderDetailsDaoImpl'はSpring Beanとしてどこに設定されていますか?コンポーネントのスキャンや '@Configuration'クラスの' @ Bean'メソッドで見つかると思いますか? [完全な最小例](/ help/mcve)は問題をより明確にします。 –