java buildSessionFactory在junit测试模式下抛出“网络适配器无法建立连接”错误,在实时模式下可以正常运行
在单元测试中,我被卡住了。
当我使用dao时,buildSessionFactory方法抛出“网络适配器无法建立连接”错误。
这在实时模式下运行良好
下面是单元测试代码
public class OAuth20Test {
private UserDetailsDAOI userDetailsDAO;
@BeforeEach
public void setUp () throws Exception {
this.userDetailsDAO = new UserDetailsDAO();
}
@Test
@DisplayName("Simple checkAuthGrant should work")
public void testCheckAuthGrant() {
if (this.userDetailsDAO == null) {
System.out.println("user dao is null");
} else {
assertEquals(true, userDetailsDAO.checkAuthGrant("*****", "*****", "*****", "*****"),
"Regular checkAuthGrant should work");
}
}
这是userDetialsDAO中的getMainDBSessionFactory函数
long lStartTime = System.currentTimeMillis();
Configuration mainDBConfiguration = getMainDBSessionConfiguration();
Configuration configuration = new Configuration();
String dbType = DAOConfiguration.getString("dao.db.type", "");
String mainHibernateConfigFileName = "hibernate-config-main-" + dbType + ".xml";
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(mainDBConfiguration.getProperties())
.configure(mainHibernateConfigFileName)
.build();
return mainDBConfiguration.buildSessionFactory(serviceRegistry);
buildSessionFactory函数来自包组织。冬眠cfg
错误发生在mainDBConfiguration.buildSessionFactory(serviceRegistry)
我发现发生此错误的原因是JUnit与创建会话工厂不兼容
应对这种情况的方法是什么
共 (0) 个答案