如何使用JPA从junit访问数据库
我正在编写junit测试用例,如何使用jpa从junit访问数据库 我为编写了代码,但得到了以下异常如何使用JPA从junit访问数据库,junit,Junit,我正在编写junit测试用例,如何使用jpa从junit访问数据库 我为编写了代码,但得到了以下异常 javax.persistence.PersistenceException: No Persistence provider for EntityManager named smsPU 我在src/test/resources/META-INF/persistent.xml文件中添加了provide,但是我得到了该错误的答案 我正在发布我的代码,请检查此代码中的错误位置 公共类SmsBean
javax.persistence.PersistenceException: No Persistence provider for EntityManager named smsPU
我在src/test/resources/META-INF/persistent.xml文件中添加了provide,但是我得到了该错误的答案
我正在发布我的代码,请检查此代码中的错误位置
公共类SmsBeanTest{
私有SmsBean SmsBean;
私人短信通知;
私人实体管理工厂实体;
私人实体管理者;
@以前
公共void安装程序引发异常{
String CONFIG\u ATTR\u NAME=webappConfig;
smsBean=新的smsBean;
ServletContext ctx=mockServletContext.class;
配置配置=新配置;
config.initPropertiessyniverse-sms.properties;
whenctx.getAttributeCONFIG\u ATTR\u NAME.thenReturnconfig;
smsBean.setServletContextctx;
**//em=mockEntityManager.class;
属性属性=新属性;
//确保使用本地事务的资源。
传动装置类型,
PersistenceUnitTransactionType.RESOURCE\u LOCAL.name;
//配置内部连接池
prop.putJDBC_驱动程序,com.mysql.jdbc.DRIVER;
prop.putJDBC_URL,jdbc:mysql://localhost:3306/platform_service_db;
prop.putJDBC_用户,root;
prop.putJDBC_密码,root;
prop.setPropertyTypersistenceUnitProperties.ECLIPSELINK\u PERSISTENCE\u XML,
src/test/resources/META-INF/persistence.xml/lib/fdn-persistence-1.0.0-SNAPSHOT.jar;
entity=Persistence.createEntityManagerFactorysMPU,prop;
System.out.printlentity;
em=entity.createEntityManagerprop;
smsBean.setemm**
//不做任何事。当我坚持通知;
smsBean.init;
通知=新的短信;
}
@之后
公共void撕裂抛出异常{
smsBean=null;
通知=空;
//实体.close;
//em.close;
}
@试验
公共无效testSendSms{
SmsNotificationDTO sms=新SmsNotificationDTO;
sms.setToAddress9985291980;
sms.setMessageSending Message。。。;
试一试{
SyniverseDispatcher disp=mockSyniverseDispatcher.class;
SyniverSerResponse resp=新的SyniverSerResponse;
分别为setresponsest1234;
字符串smsTo=notification.getDestination;
字符串smsg=notification.getMessage+new Date.getTime;
字符串urlStr=smsBean.getHostname+?user=+smsBean.getUser+&pass=+smsBean.getPass+&smsfrom=+smsBean.getShortCode+&smsto=+sms.getoaddress+&smsmsg=+sms.getMessage;
SyniverseRequest请求=新SyniverseRequest;
req.setRequestUrlStr;
当sp.dispatchreq.thenReturnresp;
smsBean.sendsmsms;
assertNotNullsms.getToAddress;
assertEquals10,sms.getToAddress.length;
assertNotNullsms.getMessage;
assertEquals1234,分别为GetResponseST;
}捕获SME{
faile.getMessage;
}
}
}
请帮助我,它找不到persistence.xml,因为您对它的定义不正确。src/test/resources/META-INF/persistence.xml/lib/fdn-persistence-1.0.0-SNAPSHOT.jar不应列出jar文件