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

这样做自己的网站wordpress options

这样做自己的网站,wordpress options,wordpress添加友联,网站定制开发流程和功能假设有一个捣蛋的小伙伴加入了你的团队#xff0c;这个捣蛋的小伙伴喜欢乱改代码#xff0c;请问此时的单元测试能否拦住这些逗比行为#xff1f;如果不能拦住逗比行为#xff0c;是否代表着单元测试有所欠缺#xff0c;或者有某些分支逻辑没有考虑到。本文将告诉大家的 S… 假设有一个捣蛋的小伙伴加入了你的团队这个捣蛋的小伙伴喜欢乱改代码请问此时的单元测试能否拦住这些逗比行为如果不能拦住逗比行为是否代表着单元测试有所欠缺或者有某些分支逻辑没有考虑到。本文将告诉大家的 Stryker.NET 就属于这样的一个捣蛋的小伙伴这个工具将会在执行测试的时候乱改你的代码看看你的单元测试是否能拦住这样的行为。如果在乱改代码之后单元测试依然是通过的那证明单元测试没有拦住此行为说不定就需要改改单元测试了大家都知道 GitHub 的 Action 可以非常方便将 dotnet tool 加入到工具链中刚好 Stryker.NET 也是通过 dotnet tool 发布的因此在 GitHub 的 Action 上接入十分简单在 GitHub 的 Action 用上 Stryker.NET 就可以自动测试一下自己编写的单元测试的鲁棒性看看单元测试是否能帮忙拦下一些不符合预期的行为变更。因为在开源项目中单元测试很重要的一点在于协助新加入的开发者了解自己编写的代码是否能在此开源项目中工作可以认为新加入的开发者写的代码都是在乱改的情况下单元测试能否帮忙拦下不符合预期的更改。如果不能拦下那就是单元测试写的不够我从张队长的博客看到了 .NET测试用例写的好不好让变种来测试一下 这篇博客了解到了 Stryker.NET 这个神奇的工具于是在我的 AsyncWorkerCollection: 高性能的多线程异步工具库 中接入。本文接下来也使用此项目作为例子来告诉大家如何在 GitHub 的 Action 接入开始之前先聊一下 Stryker.NET 的原理其实做法很简单就是对现有的项目代码进行瞎改例如将判断相等修改为判断不相等在修改之后再次执行单元测试看看单元测试能否通过。如果单元测试依然通过那证明单元测试没有考虑到此更改的行为。例如原先一个业务是需要判断相等的但是被修改为判断不相等此时单元测试居然还能过那就证明单元测试没有考虑到从判断相等被改为判断不相等的行为能被 Stryker.NET 更改的内容有很多可以从 https://stryker-mutator.io/docs/stryker-net/Mutators 找到完全的功能。例如将加法修改为减法将大于判断修改为小于判断将字符串修改为空字符串等等在开始接入 GitHub 的 Action 之前先在自己本地测试一下使用 AsyncWorkerCollection: 高性能的多线程异步工具库 作为例子先进入单元测试所有的文件夹cd test\AsyncWorkerCollection.Tests 按照惯例使用 dotnet tool 的第一步就是安装工具请使用如下代码进行安装dotnet tool install -g dotnet-stryker 接着执行如下命令让 Stryker.NET 自动测试dotnet stryker -pAsyncWorkerCollection.csproj --log-file -r [html, progress] 以上的核心命令就是 -pAsyncWorkerCollection.csproj 用来告诉 Stryker.NET 可以进行乱改代码的项目是哪个。执行上面代码之后将会让 Stryker.NET 进行对 AsyncWorkerCollection.csproj 项目里面的代码乱改在修改了代码之后执行当前的单元测试看看单元测试能否通过。如果单元测试不能通过了那证明单元测试写的不错。大概的执行的输出如下Killed: 8 Survived: 145 Timeout: 5 以上代码证明乱改的代码上有 8 个乱改的代码被单元测试拦住也就是被单元测试杀掉。而有 145 个乱改的代码能通过单元测试证明单元测试其实和没有的差不多。剩下 5 个是在乱改之后单元测试超时了接入到 GitHub 的 Action 也非常简单只需要在 .github\workflows 文件夹里面再新建一个叫 stryker.yml 的文件即可。打开 stryker.yml 文件添加自动测试的代码name: Strykeron: push:branches: - masterjobs:Stryker:runs-on: windows-lateststeps:- name: Checkout repouses: actions/checkoutv2with:ref: ${{ github.head_ref }}- name: Install Strykerrun: dotnet tool install -g dotnet-stryker- name: Testrun: |cd test\AsyncWorkerCollection.Testsdotnet stryker -pAsyncWorkerCollection.csproj --log-file -r [html, progress] 步骤十分简单首先是只有在推送到 master 的时候才执行on: push:branches: - master 接着是将代码拉下 steps:- name: Checkout repouses: actions/checkoutv2with:ref: ${{ github.head_ref }} 然后安装工具和执行测试 - name: Install Strykerrun: dotnet tool install -g dotnet-stryker- name: Testrun: |cd test\AsyncWorkerCollection.Testsdotnet stryker -pAsyncWorkerCollection.csproj --log-file -r [html, progress] 将此文件推送到 GitHub 上合入 master 即可详细更改请参考 https://github.com/dotnet-campus/AsyncWorkerCollection/pull/60
http://www.zqtcl.cn/news/307817/

相关文章:

  • 长沙专业做网站排名济南手机网站定制费用
  • 西安专题门户响应式网站建设系统网站有哪些
  • 山东省建设局网站监理员考试asp.net mvc6电商网站开发实践
  • 做网站需要提供什么资料网站备案是什么意思
  • 河南网站建设及推广东莞百度代做网站联系方式
  • 大型企业网站制作浦东新区做网站
  • 简单大气网站源码织梦怎么用框架实现在浏览器的地址栏只显示网站的域名而不显示出文件名
  • 电子商务型网站建设线上推广营销策划
  • 网站建设管理工作情况的通报网站开发vs设计报告
  • 嘉定网站网站建设公司官网制作
  • 做旅游广告在哪个网站做效果好财经网站建设
  • 网站样式下载网站地图定位用什么技术做
  • 自己做网站怎么做的百中搜优化软件
  • 南宁建站平台与网站建设相关的论文题目
  • 足球网站建设意义做股权众筹的网站
  • 北京网站建设设计一流的锦州网站建设
  • 专业手机移动网站建设什么网站可以做期刊封面
  • cms建站系统哪个好网站建设 柳州
  • 安徽省住房与城乡建设部网站八戒电影在线观看免费7
  • 江苏省建设考试网站准考证打印佛山网站建设锐艺a068
  • 展示型网站功能如何设计网站风格
  • wordpress图床网站网站什么时候做等保
  • 怎么创办网站浅谈博物馆网站建设的意义
  • 如何做擦边球网站网站seo规划
  • 建站知乎做网站销售工资
  • 仙居住房和城乡建设局网站用手机看网站源代码
  • 网架加工厂家seo关键词优化推广报价表
  • 开发新闻类网站门户网站搭建方案
  • 东莞网站搭建建站公司wordpress+链接跳转
  • 福州网站设计软件公司学校网站源码wordpress