junit

深入学习Spring框架(一)- 入门

走远了吗. 提交于 2020-04-18 04:50:24
1.Spring是什么?   Spring是一个JavaEE轻量级的一站式开发框架。     JavaEE: 就是用于开发B/S的程序。(企业级)     轻量级:使用最少代码启动框架,然后根据你的需求选择,选择你喜欢的模块使用。     重量级:早期有的EJB,开发一个HelloWorld程序都需要引入EBJ的全部模块     一站式:Spring框架提供涵盖了JavaEE开发的表示层,服务层,持久层的所有组件功能。也就是说,原则上,学完一套Spring框架,不用其他框架就可以完成网站一条流程的开发。但是Spring仍然可以和其他的框架无缝整合。 2.Spring的优点    轻量: Spring 是轻量的,就是除内核模块(4个jar),其他模块由开发者自由选择使用,同时支持整合其他框架。也可以称为就是可插拔式开发框架,像插头和插座一样,插上就用。这就是Spring框架核心理念(Ioc)。    控制反转: Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。    面向切面的编程(AOP): Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。    容器: Spring 包含并管理应用中对象的生命周期和配置。    MVC框架: Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。    事务管理:

maven创建多模块化项目(二)

天涯浪子 提交于 2020-04-17 21:30:25
1.项目脚手架参考 https://www.cnblogs.com/fishyy/p/10313566.html 2.在父pom.xml中添加springmvc相关dependency <? xml version="1.0" encoding="UTF-8" ?> < project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < groupId > com.yyu.cms </ groupId > < artifactId > appcms </ artifactId > < packaging > pom </ packaging > < version > 1.0-SNAPSHOT </ version > < name > appcms </ name > < url > http://maven.apache.org </ url > <

java 测试 (junit+ junit 断言 + postman)

妖精的绣舞 提交于 2020-04-17 20:01:54
    实际开发中,除了开发,我想测试也是必不可少的一环吧。从简单的@Test 、main 方法测试 到 页面测试 ,断言,postman。 bug是无处不在,随时发生的事,高效率的调试、检测可以节省大量的开发时间。 思路一确定,敲代码也就花不了多少时间,可是敲完代码后的调试,检测往往会花费许多时间。 甚者除了页面调试(通过jsp,HTML页面带参过来到后台,后台返回参数给页面) 其他的一点都不会。记得去年的时候,公司做个金融产品,是跟外部的团队合作一起开发的。由于前端页面是由外部团队提供给我们的,所以有时候他们还未提供给我们页面的时候,我们就自己根据接口文档等把后台业务相关逻辑处理好。 某天上午,公司一个新来的新手跑过来问我:XXX, 代码写完啦,没有页面怎么测啊。 我当时就感到奇怪,没有页面就不能测吗? 我反问了他一句, 他请我过去帮忙教教他,我也就回了句自己去百度就没理了。那时候想着就是虽然测试不是我们的主业,有测试,可是我们开发人员自测的手段还是要有一些的吧。刚好现在已经开始写博客了,今天也有空,也就写篇相关的博客,记录记录      阅读此篇博客前阅读本人的 junit 常用注解 + junit 断言详解 + junit 运行(eclipse + IDEA)      1. @Test , main 方法     这个是最简单测试了,一般用于测试一些方法,实现

在Maven项目中运行JUnit 5测试用例

╄→尐↘猪︶ㄣ 提交于 2020-04-16 23:22:36
【推荐阅读】微服务还能火多久?>>> 本文演示了如何如何编写JUnit 5测试用例,在Maven项目中运行JUnit 5测试用例。 编写JUnit 5测试用例 如果你是Java开发者,那么对于JUnit应该就不陌生。JUnit是Java单元测试的基础工具。 JUnit目前最新的版本是JUnit 5.x,但广大的Java开发者估计还停留在JUnit 4.x,因此有必要演示下如何编写JUnit 5测试用例。 引入JUnit 5依赖 相比较JUnit 4而言,JUnit 5一个比较大的改变是JUnit 5拥有与JUnit 4不同的全新的API。JUnit 5分成了三部分: JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage JUnit Platform是在JVM上启动测试框架的基础。 它还定义了TestEngine API,用于开发在平台上运行的测试框架。 此外,该JUnit Platform还提供了一个控制台启动器(用于从命令行启动该平台)和一个基于JUnit 4的运行器,用于在基于JUnit 4的环境中在该平台上运行任何TestEngine。 流行的IDE(IntelliJ IDEA,Eclipse,NetBeans和Visual Studio Code等)和构建工具(Gradle,Maven和Ant等

聊一聊,单元测试应该测试什么?

情到浓时终转凉″ 提交于 2020-04-16 15:47:28
【推荐阅读】微服务还能火多久?>>> 现在大公司越来越重视项目的单元测试,甚至明确要求项目的单元测试覆盖率不能低于某个值,足可见单元测试的重要性; 试想如果没有单元测试,那么如何保证代码能够正常运行呢? 测试人员做的只是业务上的集成测试,也就是黑盒测试,对单个的方法是没有办法测试的,而且,测试出的 bug 的范围也会很广,根本不能确定 bug 的范围,还得去花时间来确定 bug 出在什么地方。 另外,一个最常见的问题:写单测浪费时间? 你有没有计算过你改bug的时间(定位+修复),算一下的话你会发现时间浪费的会更多。 参考建议 关于如何写好单元测试,下面有几条建议供大家参考: 1. 测试数据外部化 测试数据大致分为两种:变化的和不变化的,对于不变的测试数据,我们完全可以写在单元测试用例代码中,也可以将数据外部化。 而对于测试数据一直在变,并且测试数据量比较大的时候可以使用测试数据外部化将数据放在测试用例的外部进行统一管理。 什么是数据外部化 ?就是将数据放在单元测试用例的外部统一管理,比如我们可以将一个单元测试用例中的测试数据统一放在一个CSV文件中。 我们就可以通过比如junit5中的参数测试注解 @ParameterizedTest 和引入CVS文件的注解 @CsvFileSource 并指定其中的resources属性指定CSV文件,numLinesToSkip = n

5-2 影片模块基础环境构建

走远了吗. 提交于 2020-04-16 13:43:50
【推荐阅读】微服务还能火多久?>>> 新建模块 和user模块及其的类似,更多的是复制user模块的代码 到我们新的模块里 手续复制groupId 右下角 复制parentId 删除没必要的文件 父工程内加上对应的子模块 删除依赖 去user模块内复制。common的依赖。 复制film。这样基础的环境就搭建完成了。 配置文件处理 复制一个logback.xml过来。 改成yml 复制过来 我们对数据源有要求,所以这里要额外添加一个数据源。 改一下端口和服务名 user模块数据源的配置拿过来 复制过来会有两个Spring的标签,去掉一个就可以了。最终如下。 开启eureka和扫描 新建dao的包 还需要一个ComponentScan扫描com.mooc.mettingfilm整个包下的 resource的映射 我们之前把映射都放在common里,理论上是所有模块继承,但是spring boot的各个版本之间会有一点点的差异,所以为了避免这种情况。 复制common的resources 各个模块都放一份,避免一些其他莫名其妙的错误。 这样我们基本的环境就搭建好了。 这里引用的包有问题。 @Test注意引用的包是org.junit.Text 这是Spring Boot版本之间的差异引起的。在我们刚创建的时候,它默认引入的是junit5。而junit5这次我们没有用到。

“No tests were found” with Junit 5 and IntelliJ

前提是你 提交于 2020-04-16 04:23:13
问题 Q&A-Style question as the existing questions don't match the simple typo I made here: Goal Execute simple JUnit tests via the IntelliJ IDE using the UI (right-click: run test) Problem IntelliJ tells that "no tests were found" Code import org.junit.jupiter.api.Test; public class Test { @Test private void testAMethod() { (...) } } 回答1: change to public void testAMethod() { (...) } According to Junit5 document Test classes, test methods, and lifecycle methods are not required to be public, but

安装使用 junit 进行 java 单元测试

亡梦爱人 提交于 2020-04-15 09:08:37
【推荐阅读】微服务还能火多久?>>> 本文介绍如何使用 junit 做单元测试,记录通过终端编译运行 java 文件的过程。 我的环境是 mac OSX 操作系统。 下载 junit https://sourceforge.net/projects/junit/files/junit/3.8.1/junit3.8.1.zip/download 解压后,添加环境变量 打开 ~/.bash_profile 文件,添加以下内容,保存。 export CLASSPATH=".:/[你的解压路径]/junit3.8.1/junit.jar" 编译 # 如果是编译当前目录所有 java 文件 javac -d ./ ./*.java # 如果只编译指定几个, 编译多个 javac a.java b.java # 这里我们就只需要编译单元测试文件 javac xxTest.java 运行测试 java junit.textui.TestRunner xxTest 来源: oschina 链接: https://my.oschina.net/u/4352922/blog/3235043

02. ElasticSearch (Spring Data ElasticSearch)

大憨熊 提交于 2020-04-14 23:44:08
【推荐阅读】微服务还能火多久?>>> 1. 概述 Spring Data Elasticsearch 对原生的 Elasticsearch 简化 特点: 基于Configuration配置,只要在yml文件中配置,项目就可以使用 工具类 ElasticsearchTemplate ES模板,类似女通用mapper,通过对象操作ES 提供持久层接口 Repository,无需编写基本操作代码(蕾西与mybatis,根据接口自动得到实现),也支持自定义查询 2. 环境搭建 步骤一: 修改pom.xml文件,导入坐标 步骤二: 修改yml文件,添加Elasticsearch配置信息 步骤三: 创建一个配置类,项目启动时时,设置一个参数,防止运行时异常 步骤四: 编写测试方法 步骤一: 修改pom.xml文件,导入坐标 <dependencies> <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <

整合Spring Data ElasticSearch

与世无争的帅哥 提交于 2020-04-14 12:11:56
【推荐阅读】微服务还能火多久?>>> 1、概述 Spring Data ElasticSearch 对原生的 ElasticSearch 简化 特点: 基于 @Configuration 配置,只要在 yml 文件中配置,项目中就可以使用。 工具类 ElasticsearchTemplate ES 模板,类似通用 mapper,通过对象操作 ES 提供持久层接口 Repository,相当于通过 mapper Elasticsearch 和 传统数据库对比 关系型数据库(如 MySQL) 非关系型数据库(Es) 数据库 Database 索引 Index 表 Table 类型 Type 数据行 Row 文档 Document 数据列 Column 字段 field 基本概念 专业术语 概念 Node(节点) 单个的装有Elasticsearch服务并且提供故障转移和扩展的服务器。 Cluster(集群) 一个集群就是由一个或多个node组织在一起,共同工作,共同分享整个数据具有负载均衡功能的集群。 Document(文档) 一个文档是一个可被索引的基础信息单元。 Index(索引) 索引就是一个拥有几分相似特征的文档的集合。 Type(类型) 一个索引中,你可以定义一种或多种类型。 Field(列) Field是Elasticsearch的最小单位,相当于数据的某一列。