CI集成phpunit时,运行报No code coverage driver is available的错误,如下图: yanglingdeMacBook-Pro:tests yangling$ phpunit PHPUnit 6.1.3 by Sebastian Bergmann and contributors. Error: No code coverage driver is available .... 4 / 4 (100%) Time: 220 ms, Memory: 10.00…
​ 缘起 Nebula Graph 最早的自动化测试是使用搭建在 Azure 上的 Jenkins,配合着 GitHub 的 Webhook 实现的,在用户提交 Pull Request 时,加个 ready-for-testing 的 label 再评论一句 Jenkins go 就可以自动的运行相应的 UT 测试,效果如下: 因为是租用的 Azure 的云主机,加上 nebula 的编译要求的机器配置较高,而且任务的触发主要集中在白天.所以上述的方案性价比较低,从去年团队就在考虑寻找替代的方…
概述 使用 idea 自带的 code coverage 工具 背景 了解 白盒测试用例设计 和 测试覆盖率 之后, 大概就需要 实践 了 实践的话, 还是需要 工具 来检验效果 工具选取 选项 JaCoCo IDEA Code Coverage 结果 两个都想试试 先看看 IDEA CC, 这个比较简单 JaCoCo 感觉更加复杂 指标 使用的场景都更加复杂 先讲 IDEA Code Coverage 简单 Idea 自带, 集成方便 1. 准备 理论基础 白盒测试用例设计 测试覆盖率 环境…
前言 各位读者,新年快乐,我是过了年匆忙赶回上海努力搬砖的蛮三刀. Github之前更新了一个Action功能(应该是很久以前了),可以实现很多自动化操作.用来替代用户自己设置的自动化脚本(比如:钩子+Jenkins). 由于平时根本不会有需求用到它,毕竟平时都在用公司的CI/CD流程,所以一直没有机会玩Action. 借着春节放假,就自己写个小Demo体验一下. 本文通过实现一个提交代码后自动执行Junit单元测试并输出测试报告的自动化流程小Demo,来快速上手Github Action. G…
使用Github Action自动填写疫情通 西电晨午晚检一天三次,通过企业号功能进行填写.实际上,西电企业号大部分功能是以网页模式工作的,通过构造connection发送合适的request,设置计划按时间自动运行,即可完成自动填写. 1.原理分析 打开晨午晚检页面,复制链接,得到实际的网页地址:https://xxcapp.xidian.edu.cn/site/ncov/xidiandailyup 在浏览器打开后发现会重定向到登录页面:https://xxcapp.xidian.edu.cn…
两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库 1.GitHub Actions 是什么? 大家知道,持续集成由很多操作组成,比如抓取代码.运行测试.登录远程服务器,发布到第三方服务等等.GitHub 把这些操作就称为 actions. 很多操作在不同项目里面是类似的,完全可以共享.GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用.如果你需要某个 action,不必…
什么是CI/CD?让你的项目变得更加敏捷! 在今天这个快速变化的时代,开发者们需要与时俱进,不断提升自己的工作效率.在这篇文章里,将一起探讨如何使用CI/CD和Github Action让你的项目更加高效,快速响应市场变化. 什么是CI? CI(持续集成,Continuous Integration)是一种软件开发实践,它要求开发者频繁地将代码集成到共享的主干分支中.每次集成都会触发自动化的构建和测试,以便尽早发现和修复问题,减少整体风险. 什么是CD? CD(持续交付和持续部署,Continu…
代码覆盖率(Code Coverage)是反映测试用例对被测软件覆盖程度的重要指标,也是衡量测试工作进展情况的重要指标.它也是对测试工作进行量化的重要指标之一,测试工作往往不如开发那样激动人心,一个重要原因之一就是测试难于量化,而代码覆盖率恰恰是解决着一问题的重要指标.根据其覆盖内容的不同,又可以细分为:语句覆盖.判定覆盖.条件覆盖.路径覆盖以及循环覆盖等等,这里有一篇很好的博客<代码覆盖率浅谈>介绍了各种不同覆盖率的定义.有的理解起来还是蛮拗口的,但其实不难,用到了再看就成!在所有这些覆盖中…
Code coverage 是一个计算你的单元測试覆盖率的工具. 高水平的覆盖给你的单元測试带来信心.也表明你的应用被彻底的測试过了. 你可能写了几千个单元測试,但假设覆盖率不高.那么你写的这套測试可能价值也不大. 这里并没有一个确切的百分比,要求你必须到达这个覆盖率.这非常大程度上取决于你的项目(的详细情况). 譬如说,假设你的项目中有非常多不能写单元測试的视觉组件,那么覆盖率就会比单纯处理数据的框架要低的多. Code Coverage in Xcode 在过去,假设你想要制作一个測试的代码…
SonarQube.Scanner.MSBuild.exe begin /k:"OMDCCQuotes" /d:sonar.host.url="http://myip:9000" /d:sonar.login="mykey" /d:sonar.cs.nunit.reportsPaths="%CD%\NUnitResults.xml" /d:sonar.cs.vscoveragexml.reportsPaths="%C…