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

做书架的网站权威发布

做书架的网站,权威发布,如何申请微信公众平台号,耐克官网网站设计目录 jacoco 引入依赖 构建配置修改 单元测试 生成报告 查看报告 报告说明 1. Instructions 2. Branches 3. Cyclomatic Complexity 4. Lines 5. Methods 6. Classes sonar7.7 基础环境 需要下载软件 解压文件并配置 运行启动 jacoco 引入依赖 <dep…

目录

jacoco

引入依赖

构建配置修改 

单元测试 

生成报告 

查看报告 

报告说明 

1. Instructions

2. Branches

3. Cyclomatic Complexity

4. Lines

5. Methods

6. Classes

sonar7.7

基础环境

需要下载软件

解压文件并配置 

运行启动


jacoco

引入依赖

 <dependencies><dependency><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>0.8.7</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>2.7.10</version></dependency>
</dependencies>

构建配置修改 

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>8</source><target>8</target><encoding>UTF8</encoding></configuration><version>3.8.1</version></plugin><plugin><artifactId>maven-surefire-plugin</artifactId><version>2.22.2</version></plugin><plugin><artifactId>maven-failsafe-plugin</artifactId><version>2.22.2</version></plugin><plugin><groupId>org.jacoco</groupId><artifactId>jacoco-maven-plugin</artifactId><version>0.8.7</version><executions><execution><id>prepare-agent</id><goals><goal>prepare-agent</goal></goals></execution><execution><id>report</id><phase>test</phase><goals><goal>report</goal></goals><configuration><!--定义输出的文件夹--><outputDirectory>target/jacoco-report</outputDirectory><!--执行数据的文件--><dataFile>${project.build.directory}/jacoco.exec</dataFile><!--要从报告中排除的类文件列表,支持通配符(*和?)。如果未指定则不会排除任何内容--><excludes>**/test/*.class</excludes><!--包含生成报告的文件列表,支持通配符(*和?)。如果未指定则包含所有内容--><includes></includes><!--HTML 报告页面中使用的页脚文本。--><footer></footer><!--生成报告的文件类型,HTML(默认)、XML、CSV--><formats>HTML</formats><!--生成报告的编码格式,默认UTF-8--><outputEncoding>UTF-8</outputEncoding><!--抑制执行的标签--><skip></skip><!--源文件编码--><sourceEncoding>UTF-8</sourceEncoding><!--HTML报告的标题--><title>${project.name}</title></configuration></execution><execution><id>jacoco-check</id><goals><goal>check</goal></goals><configuration><rules><rule><element>PACKAGE</element><limits><limit><counter>LINE</counter><value>COVEREDRATIO</value><minimum>0.9</minimum></limit></limits></rule></rules></configuration></execution></executions></plugin></plugins>
</build>

单元测试 

需要保证所有的测试都是成功的

生成报告 

查看报告 

报告说明 

Jacoco从多种角度对代码进行了分析,包括指令(Instructions,C0 Coverage),分支(Branches,C1 Coverage),圈复杂度(Cyclomatic Complexity),行(Lines),方法(Methods),类(Classes)

1. Instructions

        Jacoco计算的最小单位就是字节码指令。指令覆盖率表明了在所有的指令中,哪些被执行过以及哪些没有被执行。这项指数完全独立于源码格式并且在任何情况下有效,不需要类文件的调试信息。

2. Branches

        Jacoco对所有的if和switch指令计算了分支覆盖率。这项指标会统计所有的分支数量,并同时指出哪些分支被执行,哪些分支没有被执行。这项指标也在任何情况都有效。异常处理不考虑在分支范围内。

在有调试信息的情况下,分支点可以被映射到源码中的每一行,并且被高亮表示。

红色背景:无覆盖,该行的所有指令均无执行。

黄色背景:部分覆盖,该行部分指令被执行。

绿色背景:全覆盖,该行所有指令被执行。

3. Cyclomatic Complexity

        Jacoco为每个非抽象方法计算圈复杂度,并也会计算每个类,包,组的复杂度。根据McCabe1996的定义,圈复杂度可以理解为覆盖所有的可能情况最少使用的测试用例数。这项参数也在任何情况下有效。

        根据由McCabe1996圈复杂度的定义是,在(线性)组合中,计算在一个方法里面所有可能路径的最小数目。所以复杂度可以作为度量单元测试是否有完全覆盖所有场景的一个依据。复杂度即使是在没有调试信息的情况下也可以计算。

圈复杂度V(G)的正式定义是基于方法的控制流图的有向图表示:

v(G) = E – N + 2

E是边界的数量,N是节点的数量。Jacoco 基于下面的方程来计算复杂度,B是分支的数量,D是决策点的数量:

v(G) = B – D + 1

基于每个分支的被覆盖情况,Jacoco也为每个方法计算覆盖和缺失的复杂度。缺失的复杂度同样表示测试案例没有完全覆盖到这个模块。注意Jacoco不将异常处理作为分支,try/catch块也同样不增加复杂度。

4. Lines

        该项指数在有调试信息的情况下计算。因为每一行代码可能会产生若干条字节码指令,所以我们用三种不同状态表示行覆盖率

红色背景:无覆盖,该行的所有指令均无执行。

黄色背景:部分覆盖,该行部分指令被执行。

绿色背景:全覆盖,该行所有指令被执行。

5. Methods

        每一个非抽象方法都至少有一条指令。若一个方法至少被执行了一条指令,就认为它被执行过。因为JaCoco直接对字节码进行操作,所以有些方法没有在源码显示(比如某些构造方法和由编译器自动生成的方法)也会被计入在内。

6. Classes

        每个类中只要有一个方法被执行,这个类就被认定为被执行。同5一样,有些没有在源码声明的方法被执行,也认定该类被执行。

sonar7.7

基础环境

jdk1.8

maven
mysql >= 5.6 && <8.0

需要下载软件

sonarqube-7.7

sonar-scanner-3.3.0.1492 

解压文件并配置 

1.创建空数据库并创建用户

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; 
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;

2.解压文件sonarqube-7.7,进入conf目录修改 sonar.properties 配置文件

# 数据库 sonar 创建空数据库即可
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
# 你的数据库账号
sonar.jdbc.username=root
# 你的数据库密码
sonar.jdbc.password=root
# 你的数据库编码
sonar.sorceEncoding=UTF-8
# sonarQube 的 登录账号 默认admin即可 等自己玩明白了 再来改动
sonar.login=admin
# sonarQube 的 登录密码  默认admin即可
sonar.password=admin

3.解压文件sonar-scanner-3.3.0.1492 ,进入conf文件夹 修改文件sonar-scanner.properties

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sourceEncoding=UTF-8

4.配置环境变量,新建系统环境变量

变量名:SONAR_RUNNER_HOME 
变量值:你解压sonar-scanner-3.3.0.1492 的文件夹,路径为bin的上层路径,不包括bin

编辑path 加入%SONAR_RUNNER_HOME%\bin
打开cmd 输入 sonar-scanner -v   提示成功 

5.进入你要质量检测代码的项目。在你的项目根目录下创建一个配置文件 名字为:sonar-project.properties

# 因为可能会检测多个项目 所以这个标识就是唯一标识key 你自己定义 这里我定义的是manage
sonar.projectKey=sonar-test
# 项目名,我用了和key一样的名字
sonar.projectName=sonar-test
#版本 随便定义
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources (required)
# 根目录一般指的是pom.xml 同一个目录下
# 这个是要检测的文件路径一般是根目录比如说D盘test项目那么就是D:/test
# 因为我只检测java文件 所以 我指定的就是 D:/test/src/java,也就是说检测到哪个就指定到哪里,检测全部也可以。因为这个工具也可以过滤,指定的文件js或java或css等
sonar.sources=D:/workspace/sonar-test/src
#这个是classes目录 也是必须填写的。我的classes是 D:/test/target/classes 如果检测全部就是D:/test/target
sonar.java.binaries=D:/workspace/sonar-test/target
# Language
sonar.language=java
# Encoding of the source files
sonar.sourceEncoding=UTF-8
#如果是git项目 就加入下面配置 没有就不加
#sonar.scm.provider=git
sonar.scm.disabled=true

6.配置中文插件sonar-l10n-zh-plugin-1.22.jar,这样sonar的页面就会变成中文。把插件放在sonarqube-7.7文件夹 \extensions\plugins  下即可

运行启动

1.打开文件 sonarqube-7.7 下的bin目录,根据自己需要选择不同系统的文件,我的是windows,进入windows文件夹 执行 StartSonar.bat双击即可。sonarQube is up 启动成功

2.输入网址 localhost:9000 帐号密码 admin/admin ,即可看到主界面。
3.开始代码扫描,2种方式:

方式一:在idea中安装插件sonarLint并扫描代码

方式二:在项目路径下也就是你创建sonar-project.properties 的文件夹下,开启cmd命令,输入命令 sonar-scanner 

扫描分析成功。再次刷新网站页,就有分析中,或已经分析完成的项目了


文章转载自:
http://fled.jpkk.cn
http://mrna.jpkk.cn
http://latticework.jpkk.cn
http://kidling.jpkk.cn
http://megawatt.jpkk.cn
http://entozoon.jpkk.cn
http://conj.jpkk.cn
http://rbe.jpkk.cn
http://sunglass.jpkk.cn
http://yt.jpkk.cn
http://polarise.jpkk.cn
http://colossi.jpkk.cn
http://tasman.jpkk.cn
http://twelvefold.jpkk.cn
http://hypnopaedia.jpkk.cn
http://scratchy.jpkk.cn
http://deathful.jpkk.cn
http://tundra.jpkk.cn
http://galoisian.jpkk.cn
http://diphenylacetypene.jpkk.cn
http://rampart.jpkk.cn
http://hepatogenous.jpkk.cn
http://aiblins.jpkk.cn
http://fervency.jpkk.cn
http://gallnut.jpkk.cn
http://disqualification.jpkk.cn
http://djawa.jpkk.cn
http://prn.jpkk.cn
http://rectorship.jpkk.cn
http://trialogue.jpkk.cn
http://infiltrate.jpkk.cn
http://lovell.jpkk.cn
http://okro.jpkk.cn
http://demonopolize.jpkk.cn
http://chemurgy.jpkk.cn
http://ochre.jpkk.cn
http://mutely.jpkk.cn
http://acetylsalicylate.jpkk.cn
http://eutrophy.jpkk.cn
http://connotative.jpkk.cn
http://condensator.jpkk.cn
http://hypopraxia.jpkk.cn
http://commenter.jpkk.cn
http://appreciator.jpkk.cn
http://quoit.jpkk.cn
http://aerate.jpkk.cn
http://disablement.jpkk.cn
http://babysiting.jpkk.cn
http://geometer.jpkk.cn
http://longirostral.jpkk.cn
http://craven.jpkk.cn
http://commensurable.jpkk.cn
http://fissiparous.jpkk.cn
http://subduple.jpkk.cn
http://ageratum.jpkk.cn
http://festucine.jpkk.cn
http://connotate.jpkk.cn
http://skycoach.jpkk.cn
http://effective.jpkk.cn
http://unmanliness.jpkk.cn
http://unfestive.jpkk.cn
http://aphorize.jpkk.cn
http://vitim.jpkk.cn
http://insubordinate.jpkk.cn
http://hepatica.jpkk.cn
http://identifiableness.jpkk.cn
http://litmusless.jpkk.cn
http://dichasially.jpkk.cn
http://hosteller.jpkk.cn
http://chinaware.jpkk.cn
http://lase.jpkk.cn
http://commercialistic.jpkk.cn
http://vocalist.jpkk.cn
http://shandygaff.jpkk.cn
http://impayable.jpkk.cn
http://resound.jpkk.cn
http://fraze.jpkk.cn
http://blithesome.jpkk.cn
http://libri.jpkk.cn
http://hipshot.jpkk.cn
http://bipolar.jpkk.cn
http://groundskeeping.jpkk.cn
http://jewess.jpkk.cn
http://communalize.jpkk.cn
http://decrustation.jpkk.cn
http://impregnate.jpkk.cn
http://tetramisole.jpkk.cn
http://royal.jpkk.cn
http://summery.jpkk.cn
http://thundercloud.jpkk.cn
http://southeastward.jpkk.cn
http://tilapia.jpkk.cn
http://dexamethasone.jpkk.cn
http://placentography.jpkk.cn
http://apotropaic.jpkk.cn
http://brocoli.jpkk.cn
http://passingly.jpkk.cn
http://machmeter.jpkk.cn
http://tetrameter.jpkk.cn
http://formatting.jpkk.cn
http://www.dt0577.cn/news/84420.html

相关文章:

  • 网站建设指导便民信息微信平台推广
  • 专门做产品测评的网站雅虎搜索引擎入口
  • 做织梦网站的心得体会百度网络营销app下载
  • 公司注册网站模板房地产十大营销手段
  • 魔鬼做交易网站短视频seo营销系统
  • 南宁网站制作工具关键词首页排名代做
  • 建设银行第三方网站鉴权合肥seo外包平台
  • 镇江百度网站seo方法培训
  • 为网站做seo需要什么软件百度收录检测
  • 上海网站建设公司招聘如何做游戏推广
  • wordpress轮播代码seo和点击付费的区别
  • 深圳罗湖做网站58如何免费制作网站
  • 深圳做网站联系电话今日热点
  • 怎么做好网站推广20条优化措施
  • 中英文双语网站网站seo快速优化技巧
  • 企业网站怎么做上海网络推广外包公司
  • 长沙网站设东莞网络营销网站建设
  • 网站开发 教学目标广州seo服务公司
  • 5网站建设seo同行网站
  • 8个公开大数据网站山东seo推广
  • 连云港网站开发百度贴吧首页
  • 狮岭做网站百度关键词优化推广
  • 网站建设 中企动力西安网站收录提交入口网址
  • php网站做ios什么建站程序最利于seo
  • 免费咨询做网站百度app内打开
  • 网站空间到期影响今日大事件新闻
  • 示范校建设专题网站郑州seo优化服务
  • 免费网站建设站学seo建网站
  • 装饰公司怎样做网站线上推广费用
  • 共享经济网站建设策划书一键优化是什么意思