java web junit_如何使用junit测试javaweb工程

一:创建一个测试类,建议将测试类单独放在一个包中(在 maven 项目里有测试类专门的存放位置),新建一个Junit Test Case类,下一步 cc7e64ed43c4cd903dbb4706fe3aaa59.png

测试类的命名建议是你将要测试的类名+Test,然后点 Browse, 你可以选择要进行测试的类(一般选择 Service, 因为 Service 关心的是业务需求),用这种方式创建可以自动生成要测试类的测试类,你只需要进行测试代码的书写.

@Testpublic void testqueryById(){}    @Testpublic void testQueryAll(){}    @Testpublic void testReduceNumber(){}123456789101112

如果里面有自动生成的代码,删除或注释即可…

二:配置 spring 和 junit 整合, junit 启动时加载 springIOC 容器,这里你需要 Spring-test jar包

@RunWith(SpringJUnit4ClassRunner.class)    //告诉junitspring配置文件@ContextConfiguration(locations = {"classpath:spring/spring-dao.xml"})123

同样的,在测试类中我们会调用 Service 的逻辑,由于我们使用的是 Spring+SpringMVC+ 持久化框架,所以要注入一个 IService 接口(这里我直接对 DAO 进行测试了)

@Autowiredprivate SeckillDao seckillDao;12

接下来是测试逻辑,在编写测试代码之前建议覆盖实体中的 toString 方法,不然打印会很麻烦.

@Test    public void testqueryById(){        long id = 1000;Seckill seckill = seckillDao.queryById(id);System.out.println(seckill.getSeckillName());System.out.println(seckill);}    //JAVA没有保存形参的记录,如果你在 dao 中传了多个参数,那么需要声明它的形参对应的实参,否则 JVM 会显示找不到参数.声明方式稍后奉上@Test    public void testQueryAll(){List seckills = seckillDao.queryAll(0, 100);        for(Seckill seckill:seckills){System.out.println(seckill);}}@Test    public void testReduceNumber(){Date killTime = new Date();        //对增加进行测试的时候,只要数据库增加了一条数据,我们就默认这个方法执行成功了int updateCount = seckillDao.reduceNumber(1000L, killTime);System.out.println("updateCount = "+updateCount);}123456789101112131415161718192021222324

解决JAVA不保存形参的记录

int reduceNumber(@Param("seckillId")long seckillId,@Param("killTime")Date killTime);Seckill queryById(long seckillId);    /*** mysql的分页查询* @param offset 告诉它实际的形参* @param limit* @return*/List queryAll(@Param("offset")int offset,@Param("limit")int limit);1234567891011

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java代码_Java 代码实现排序算法

阅读本文约需要8分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈)。上次老师跟大家分享了下SpringBootGradle MyBatisPlus3.x搭建企业级的后台分离框架的相关知识,今天跟大…

优秀的开源项目C_适合提高C/C++、网络编程能力的开源项目!不要错过,赶紧收藏...

我们学习每一个编程语言都是有一个项目实战的过程,而对于开发类的编程语言,除了适当的做项目程序外,学习了解其他的开源项目更是一个关键,就比如我们的C/C编程语言的学习。前阵子有一个小伙伴就问到我,我学好C/C基础后…

Opencv分水岭算法——watershed自动图像分割用法

分水岭算法是一种图像区域分割法,在分割的过程中,它会把跟临近像素间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓,封闭性是分水岭算法的一个重要特征。 其他图像分割…

Java Annotation

一、了解注释注释是java1.5 jdk这后引入的特性。Java库自己带的注释有Deprecated, Overwrite等。注释是加在类,方法,变量等上的一种标记。并且,可以通过javaj反射操作把这个标记取出来。主要用途是用于对方法,变量,类等…

pycharm显示全部数据_PyCharm第一次安装及使用教程

pycharm简介PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用…

笔记本win10玩红警黑屏_【买笔记本电脑差评真的有参考意义?】

每次推荐笔记本电脑都会遇到一个重要的问题就是:“大多数消费者会下意识的去看京东评论,参考买的人是怎么说的,往往会出现不懂电脑的人继续误导不懂的人,导致越来越多的人被误导”本文聊聊关于京东评论究竟有没有参考价值。1&…

java前端接收回显图片_图片上传并回显后端篇

图片上传并回显后端篇我们先看一下效果继上一篇的图片上传和回显,我们来实战一下图片上传的整个过程,今天我们将打通前后端,我们来真实的了解一下,我们上传的文件,是以什么样的形式上传到服务器,难道也是一…

zip直链生成网站_手把手教你如何用飞桨自动生成二次元人物头像

【飞桨开发者说】李思佑,昆明理工大学信息与计算科学大四本科生;2018年和2019年两次获得全国大学生数学建模比赛国家二等奖;2020年美国数学建模比赛获M奖。指导老师:昆明理工大学理学院朱志宁想画出独一无二的动漫头像吗&#xff…

Gradle入门到实战(一) — 全面了解Gradle

声明:本文来自汪磊的博客,转载请注明出处 可关注个人公众号,那里更新更及时,阅读体验更好: 友情提示由于文章是从个人公众号拷贝过来整理的,发现图片没有正常显示,没关注公众号的同学可通过如下…

javaweb 图书管理系统完整代码_看一名Java开发人员以红队思维五分钟审计一套代码(续)...

前言上篇文章的发布引起了很多读者的浏览,有很多读者也催更希望读到续集,作者也收获到读者的鼓励,说明这条路线对大家有帮助,是有意义的。所以,今天作者将继续阐述在审计Java代码时的思路。概述上篇文章所讲的SQL注入和…

爱立信数据分析解决方案抓住物联网发展机遇

爱立信在2016年1月6日至9日于美国拉斯维加斯举办的国际消费电子展(CES)上推出“用户和物联网数据分析”解决方案。该解决方案将能帮助运营商提高对用户和物联网终端的内部管理效率,同时探索跨越多个垂直领域的新型物联网应用。 用户和物联网数…

JAVA实现在面板中添加图表_Java 创建PowerPoint图表并为其添加趋势线

图表,是指将既得数据用图形的方式表示出来。在前文中我们介绍过如何使用Java程序来为Excel文档创建图表的方法。本文将通过使用Java程序来演示如何创建PowerPoint图表及为图表添加趋势线。趋势线的运用能够显示数据的变化趋势,同时能够帮助预测数据的未来…

idea设置中文界面_《英雄联盟手游》设置界面中文翻译图分享 外服汉化界面一览...

导读 英雄联盟手游目前以及正式上线了,不过现在的话是没有中文版的,只有外服,所有很多地方是看不懂的,也不明白的,这样的话就需要翻译了,具体要怎么设置会比较,相关的步骤是什么呢?下…

安卓10不支持qmc解码_官宣:安卓10已发布!21款手机已适配,小米华为率先支持...

随着今天凌晨谷歌 I/O 大会的召开,Android Q 也就是安卓10正式官宣,新版的安卓10加入了诸多新手势,从 Home 键设计上看,安卓10 的新版手势很大程度上有疑似借鉴 iOS 的手势,底部一个长条,作为 Home 用来返回…

linux系统编程之进程(七):system()函数使用【转】

本文转载自:http://www.cnblogs.com/mickole/p/3187974.html 一,system()理解 功能:system()函数调用“/bin/sh -c command”执行特定的命令,阻塞当前进程直到command命令执行完毕 原型: int system(const char *comma…

汉王云名片识别(SM)组件开发详解

大家好,最近在DeviceOne平台上做了一个汉王云名片识别的功能组件。下面把我开发过程给大家做一个分享,希望可以帮助到大家。 下面我把我的思路给大家讲解一下。1.找到我要集成的sdk,也就是汉王云名片的sdk下载(android和ios&#…

[App Store Connect帮助]八、维护您的 App(4.2)查看评分与评论

您可以查看 App 的总评分或单个顾客评论。如有必要,您可以针对某条评论报告问题。 【注】顾客可以为您的 iOS 和 macOS App 评分并撰写评论,但只能为 Apple TVOS App 评分。 必要职能:“帐户持有人”职能、“管理”职能、“App 管理”职能、“…

visio studio json工具_《产品经理入门指南》彩蛋2:别技淫原型图!你的Visio和Balsamiq Mockup入门了吗?...

温馨提示:如果你有关于产品经理方面的任何问题,欢迎关注我的微信公众号与我互动。最新的免费系统的产品经理课程《老司机带你做产品》已经推出,请关注微信公众号:iamliuwenzhi很多产品新人刚开始工作时,喜欢一拿到需求…

mysql牵引例子_MySQL学习06(事务和索引)

事务概述什么是事务事务就是将一组SQL语句放在同一批次内去执行如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行MySQL事务处理只支持InnoDB和BDB数据表类型事务的ACID原则原子性(Atomic)整个事务中的所有操作,要么全部完成,要么全部不完成&#…

android操作系统 真的吗_旋挖机培训学校真的能学会吗,旋挖钻机到底有哪些操作系统...

旋挖机培训学校真的能学会吗添加微:yywyyc 旋挖钻机到底有哪些操作系统【前言】很多使用旋挖钻机或者想要了解旋挖钻机的工程公司可能不是特别了解旋挖钻机本身的系统以及部件,本篇文章针对旋挖钻机的操作系统来给大家介绍一下,让大家了…