当前位置: 首页 > news >正文

京鑫建设集团网站新东方

京鑫建设集团网站,新东方,装修网站开发前的准备工作,贵阳公司网站建立这篇文章描述了如何为Spring Web Application的Services和DAO实现JUnit测试。 它建立在Spring MVC-Service-DAO-Persistence Architecture Example的基础上 。 从Github的Spring-Web-JPA-Testing目录中可以找到该示例。 提醒 测试装置 –固定状态#xff0c;用作运行测试的基… 这篇文章描述了如何为Spring Web Application的Services和DAO实现JUnit测试。 它建立在Spring MVC-Service-DAO-Persistence Architecture Example的基础上 。 从Github的Spring-Web-JPA-Testing目录中可以找到该示例。 提醒 测试装置 –固定状态用作运行测试的基准。 单元测试 –这些测试验证代码组件片段是否按预期执行了某些功能。 在Java环境中这些通常在类级别实现。 集成测试 –集成测试是任何类型的测试检查以确保一组交互的组件一起正确执行预期的功能。 组态 我们需要一个JPA Hibernate配置来进行内存中测试 Configuration EnableTransactionManagement public class JpaTestConfig {Beanpublic LocalContainerEntityManagerFactoryBean entityManagerFactoryBean(){LocalContainerEntityManagerFactoryBean lcemfb new LocalContainerEntityManagerFactoryBean();lcemfb.setDataSource(this.dataSource());lcemfb.setPackagesToScan(new String[] {com.jverstry});lcemfb.setPersistenceUnitName(MyTestPU);HibernateJpaVendorAdapter va new HibernateJpaVendorAdapter();lcemfb.setJpaVendorAdapter(va);Properties ps new Properties();ps.put(hibernate.dialect, org.hibernate.dialect.HSQLDialect);ps.put(hibernate.hbm2ddl.auto, create);lcemfb.setJpaProperties(ps);lcemfb.afterPropertiesSet();return lcemfb;}Beanpublic DataSource dataSource(){DriverManagerDataSource ds new DriverManagerDataSource();ds.setDriverClassName(org.hsqldb.jdbcDriver);ds.setUrl(jdbc:hsqldb:mem:testdb);ds.setUsername(sa);ds.setPassword();return ds;}Beanpublic PlatformTransactionManager transactionManager(){JpaTransactionManager tm new JpaTransactionManager();tm.setEntityManagerFactory(this.entityManagerFactoryBean().getObject() );return tm;}Beanpublic PersistenceExceptionTranslationPostProcessor exceptionTranslation(){return new PersistenceExceptionTranslationPostProcessor();}} 我们需要从软件包扫描中排除生产配置不进行“ com.jverstry”扫描 Configuration ComponentScan(basePackages {com.jverstry.Controller,com.jverstry.DAO,com.jverstry.Item,com.jverstry.Service })public class TestConfig {Beanpublic MyService getMyService() {return new MyServiceImpl();}} 弹簧测试工具 RunWith –这是一个JUnit批注它允许使用与JUnit提供的运行程序不同的运行程序运行测试。 SpringJUnit4ClassRunner –这是用于Spring应用程序的JUnit测试运行器。 通常测试类使用RunWithSpringJUnit4ClassRunner.class进行注释。 ContextConfiguration –此批注可用于指定如何在Spring测试类中加载applicationContext。 可以通过XML文件或Java配置对象进行配置。 服务测试 以下类测试了注入的MyService实现的createAndRetrieve方法 RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration(classes{ JpaTestConfig.class, TestConfig.class }) public class MyServiceImplTest {Autowiredprivate MyService myService;Testpublic void testCreateAndRetrieve() {MilliTimeItem retr myService.createAndRetrieve();assertNotNull(retr);}} DAO测试 下面的类测试我们的DAO实现。 从上面定义的测试配置类创建的EntityManager注入了我们的实现。 RunWith(SpringJUnit4ClassRunner.class) ContextConfiguration(classes{ JpaTestConfig.class, TestConfig.class }) public class MyPersistenceDAOTest {Autowiredprivate MyPersistenceDAO myDAO;Testpublic void testCreateMilliTimeItem() {// This operation should not throw an Exceptionlong id myDAO.createMilliTimeItem();}Testpublic void testGetMilliTimeItem() {long id myDAO.createMilliTimeItem();MilliTimeItem retr myDAO.getMilliTimeItem(id);assertNotNull(retr);assertEquals(id,retr.getID());}} 警告 开始为Spring编写JUnit测试时可能会遇到以下错误消息 Java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/validation/Validation 上面的原因通常是由以下Maven依赖引起的 dependencygroupIdjavax/groupIdartifactIdjavaee-api/artifactIdversion6.0/versiontypejar/type/dependency 它应该替换为 dependencygroupIdorg.apache.geronimo.specs/groupIdartifactIdgeronimo-jpa_2.0_spec/artifactIdversion1.1/versionscopeprovided/scope/dependency 另一个错误消息是 javax.validation.ValidationException: Unable to find a default provider 通过添加以下Maven依赖关系可以解决此问题 dependencygroupIdorg.hibernate/groupIdartifactIdhibernate-validator/artifactIdversion4.3.0.Final/version/dependency 更多春天相关的帖子在这里 。 参考 技术说明博客上的JCG合作伙伴 Jerome Versrynge的JUnit测试Spring Service和DAO带有内存数据库 。 翻译自: https://www.javacodegeeks.com/2012/10/junit-testing-spring-service-and-dao.html
http://www.yutouwan.com/news/209874/

相关文章:

  • 住房和城乡建设局网站职能设计签名免费网站
  • jsp网站制作做动态h5的网站
  • 网站怎么做营销百家号如何给网站做推广
  • 齐齐哈尔哪里做网站广州知名网站建设性价比高
  • 郑州专门做喷绘安装的网站济南正规企业站seo
  • 魔鬼做交易网站水果网站策划书
  • 网站的百度推广怎么做的广告设计公司策划书
  • 上海网站建设电wordpress首页音乐
  • 哪些网站做英语比较好广东省 网站建站
  • 电商网站运营流程中铁建设中南分公司
  • 网站制作优化网页制作基础与实例教程
  • 深圳网站设计公司招聘网站建设思维导图模板
  • 广州网站建设50强名单制作营销型网站的公司
  • phpcms电影网站开发英文在线购物网站建设
  • 静态化网站和app的区别360免费wifi电脑版
  • 汕头网站建设制作报价国家标准物质网站建设
  • 一个域名可以建几个网站网站建设报价方案doc
  • 仪征网站建设公司哪家好开通公司网站
  • 公司网站制作公司倒闭网站建设策划书心得
  • 泉州做网站公司打开现场直播
  • 加工网线百度seo网站优化怎么做
  • 洛阳青峰网络做网站黄金网站app大全3dm手游
  • aspnet网站开发实例资阳网站推广
  • 太原市给企业做网站南靖县建设局网站
  • 聊城网站建设方案广州建机场最新消息
  • 徐州住房与建设局网站抖音代运营一般几个周期
  • 做宠物食品的网站wordpress用php哪个版本好
  • 专业app怎么制作网站吗怎么建设淘宝联盟的网站
  • 百度秒收网站青岛网站设计价格
  • 门户网站建设单位资质要求网站图片怎么做超链接