Docker 作为当下最火的容器技术,各企业都在积极拥抱 Docker,在 Docker 中,一个非常重要的元素就是Docker 镜像: Docker Images,对于一些没有私密保护需求的镜像,我们可以选择将镜像推送到...Docker Hub,但是对于一些比较私密的镜像,涉及到安全问题,就不能推送到 Docker Hub,这就需要配置一个私有的 Registry,来存放我们的 Docker Images ,久而久之,我们就需要一个好用的...harbor-offline-installer-0.4.5.tgz cd harbor 然后修改配置文件,修改为我们自己的需要参数 vi harbor.cfg 将其中的 hostname 修改为我们的公网 IP,方便我们在公网中使用...根据你的需要,也可以设置为内网 IP,只在私有网内部使用。 配置完成后,运行安装脚本 sudo ./install.sh 当你看到这样的界面时,就说明安装好了,就可以开始使用harbor了!...打开浏览器,输入我们绑定的IP地址 使用默认的帐号admin密码Harbor12345登录,就可以看到我们的界面了 接下来,就是使用 Harbor 来管理我们的镜像!
2. spock 题外话,提起 spock,大概你最先想到的是《星际迷航》吧 此前,我们介绍过 java 的另一个测试框架 — JUnit JUnit 是一套使用通过 java 语言实现的一套成熟的单元测试工具...创建测试类 在 test 路径下,我们创建一个名为 CalculateTest 的 groovy class: package service import spock.lang.Specification...spock 框架也提供了批量测试拆分的机制,只要在方法上加上 @Unroll 注解,多个测试用例就会在结果中被分开展示了。...@Timeout — 测试超时 在方法上添加 @Timeout 注解,可以实现测试用例超时的指定。...Mock 测试通过模拟外部调用的结果,让我们的测试程序得以继续运行,在 JUnit 中,我们需要使用 Mockit 来实现接口的 Mock,同时,Mock 的编写也较为复杂,这些在 spock 中就显得非常简单了
下面我们将主要对比 Mockito 和 Spock 两种框架的差异。 Mockito Mockito 是 Java 单元测试中的 Mock 框架,一般都是与 JUnit 一起使用。...缺点:代码不够简洁、没有统一的单测结构、不支持静态方法和私有方法 Mock。...Spock 框架使用 Groovy 语言编写,而 Groovy 语言则是 Java 语言的超集,绝大多数 Java 语言语法在 Groovy 中都支持。...缺点:学习成本略高、不支持静态方法和私有方法 Mock。...而 Spock 虽然使用人群没有 Mockito 那么多,但国内也有一些大厂在使用 Spock,例如美团等(可参考:Spock单元测试框架介绍以及在美团优选的实践)。
首先不能让业务人员排斥编写单元测试,更不能让工程师觉得写单元测试是在浪费时间。而且使用JUnit做测试工作量不算小。据初步统计,采用JUnit的话,它的测试代码行和业务代码行能到3:1。...Spock提供多种语义标签,如:given、when、then、expect、where、with、and等,从行为上规范了单元测试代码,每一种标签对应一种语义,让单元测试代码结构具有层次感,功能模块划分更加清晰...因为Spock使用Groovy作为单元测试开发语言,所以代码量上比使用Java写的会少很多,比如given模块里通过构造函数的方式创建请求对象。...也是继承自JUnit,所以使用PowerMock的@PowerMockRunnerDelegate()注解,可以指定Spock的父类Sputnik去代理运行PowerMock,这样就可以在Spock里使用...PowerMock去模拟静态方法、final方法、私有方法等。
Spock相比JUnit有易读、简洁、自带Mock等特性,可以减少单元测试编写时间,而且bug更少,可读性更好。...虽然使用的Groovy语法,但是基本兼容Java语法,使用起来没有门槛,好东西就要分享!...Spock的特性 代码易读 易读的测试用例名字,可以使用任意字符串,比如下面中test stack 易理解的代码模块:given, when, then, expect def "test stack...spock-spring 1.1-groovy-2.4 test</...第一个测试用例 常见问题 maven test命令并没有执行单元测试,而是提示No tests to run.
在最近的一边学习一边复习的过程中,发现了很多有意思的事情。今天就分享一个groovy.lang.MetaClass应用:如何运行中,动态给类和对象增加属性和添加方法。...单元测试 下面使用Spock单元测试框架进行测试,有兴趣的可以看看之前的文章: 单元测试框架spock和Mockito应用 Spock 2.0 M1版本初探 Maven和Gradle中配置单元测试框架Spock...Groovy单元测试框架spock基础功能Demo Groovy单元测试框架spock数据驱动Demo 代码如下: package com.funtest.spock import org.apache.logging.log4j.LogManager...FAILED INFO-> Test worker 测试类[com.funtest.spock.Mop]开始了 INFO-> Test worker 测试方法开始了 INFO-> Test worker...@6c68765> at com.funtest.spock.Mop.测试动态添加获取属性(Mop.groovy:60) INFO-> Test worker 测试类[com.funtest.spock.Mop
,并采用Groovy作为其语法,目前能够在绝大多数的集成开发环境(如eclipse,Intellij Ieda),构建工具(如Maven,gradle)等场景运行。...Spock单元测试相对于传统的junit、JMockito、EsayMock、Mockito、PowerMock,由于使用了Groovy作为语法规则,代码量少,容易上手,提高了单元测试开发的效率,因此号称是下一代单元测试框架...本文以实战的方式详解怎样使用Spock进行单元测试,以便更好地理解Spock单元测试,至少能够让读者能够在选择java单元测试面前多了一种选择。 1....println(e.message) cleanup: println("test clean up") // 单元测试执行结束后的清理工作,如清理内存,销毁对象等...使用Spock框架进行单元测试; 2. Spock官网.
无需安装,使用简便,引入包 import unittest 即可使用 官网地址:http://docs.python.org/zh-cn/3/library/unittest.html Spock Spock...得益于JUnit runner,Spock能够在大多数IDE、编译工具、持续集成服务下工作。...Mock工具 在进行单元测试时,需要测试的类或函数有很多依赖,某些依赖不好构建,如Mysql或者Redis里的数据,导致在单元测试代码里无法完成构建。...可以mock静态方法、私有变量及局部方法 代码覆盖率统计工具 官网地址:http://jmockit.org/ 单元测试覆盖率工具 JCoCo Jacoco是一个开源的免费Java代码覆盖工具,由EclEmma...通过使用此自动测试工具能够在保证代码覆盖率的前提下极大地提高测试人员的开发效率。但是只能辅助测试,并不能完全取代人工,测试用例的正确与否还需人工判断。
上期文章讲到JsonPath工具类封装,遗留了一个坑,就是关于工具类的单元测试,由于中午得空,所以使用单元测试框架Spock写了一点点单元测试用例,分享出来,供大家参考。...使用Groovy语言,spock测试框架,如需了解请参考文章: Maven和Gradle中配置单元测试框架Spock Groovy单元测试框架spock基础功能Demo Groovy单元测试框架spock...试试Groovy进行单元测试 Spock 2.0 M1版本初探 单元测试框架spock和Mockito应用 中间用到了Groovy的文本块,有兴趣的可以看看Java文本块。...单元测试用例 package com.FunTester.spock.utils_test import com.alibaba.fastjson.JSON import com.fun.utils.JsonUtil...of the Rings]]], expensive:10]> | false 11.4318 at com.FunTester.spock.utils_test.JsonUtilTest
为什么人人都讨厌写单测 在之前的关于swagger文章里提到过,程序员最讨厌的两件事,一件是别人不写文档,另一件就是自己写文档。这里如果把文档换成单元测试也同样成立。...可以简单的理解成跑在 jvm 上的 python 或 js。...在使用其它单测框架时,与之类似的是 assert 。...这些数据我们可以在 where 块里定义。where 块使用了一种很像 markdown 中表格的定义方法。...Spock in Java 慢慢爱上写单元测试[2] 使用Groovy+Spock轻松写出更简洁的单测[3] Spock 测试框架的介绍和使用详解[4] Spock 基于BDD测试[5] Spock 官方文档
近期已然陷入了单元测试的汪洋大海,上万行的代码突然要求起来单元测试覆盖率,着实很恐怖的。最经过艰苦的抗争学习之后,终于迈过了技术这个坎儿,特来分享一下最近踩坑的经历,和一些典型的使用场景案例分享。...下面是我使用过的一个常用项目,部分信息隐去了。大家在自己项目中实践的时候可以参考,尽量别直接抄代码,我自己使用过程中有很多兼容性的坑,特别是IDE自动import功能。...技术方案 本技术方案基于公司力推的Spock单元测试框架,spock是一款基于Groovy语言的单元测试框架,其基础也是Java的Junit,目前最新版已经到了2.0,但对Groovy和相应的Java版本要求较高...Spock提供的功能,用到的注解@Shared,不加的话无法在Spock方法中进行赋值操作,但是可以当做一个普通的对象使用。...定时对象行为: Mockito.when(newutil.filter(Mockito.any())).thenReturn(true) 定义行为以后,就可以在Spock用例中正常使用
spock是一款全能型的单元测试框架。 最近在做单元测试框架的调研和尝试,目前确定的方案框架包括是:spock,Junit,Mockito以及powermock。...由于本身使用Groovy的原因,比较钟情于spock框架,但是奈何兼容性比较差,特别是跟Mockito等框架的高级语法的兼容。...不过这不妨碍spock是一个非常优秀的单元测试框架,特别体现在用例的形式和测试报告的展示方式以及报错信息的展示(这个我最中意)。 在简单看过官方文档之后做了一些简单的Demo,分享给大家。...(官方文档貌似有段时间没有更新了,如果用的话建议升级最新版) package com.FunTester.spock.pratice import org.slf4j.Loggerimport spock.lang.Sharedimport...spock.lang.Specification import static com.fun.frame.SourceCode.getLogger class test01 extends Specification
我们都知道 Spock 是一个单测框架,其特点是语法简明。但当我们使用 Spock 写了一堆单元测试之后,如何生成对应的单测覆盖率报告呢?...一般来说,我们会使用两个插件来一起完成单测覆盖率报告的生成,分别是: Maven Surefire Plugin JaCoCo Plugin 其中 Maven Surefire Plugin 是用来在...test.groovy.tech.shuyi 目录写一个 Groovy 单测,如下代码所示: package tech.shuyi import spock.lang.Specification class...首先,在 pom.xml 文件引入 Surefire 插件配置,如下代码所示: test 阶段,用于执行程序的单元测试,最终生成 txt 和 xml 格式的报告,存放地址为 ${basedir}/target/surefire-reports
单元测试或是最好的项目文档。 很早之前在学习使用Java做测试的时候,得到过一个神秘大佬的帮助,在一起聊过单元测试,基本结论就是:单元测试大概率没啥鸟用。...众所周知,自动化测试相比手动测试一个比较明显的特点就是见效慢,需要积累一定的时间所产生的的价值才能超过手动测试,这还是在比较理想的情况下。某些时候可能永远也超不过。...之前对单元测试进行过一些尝试,写过一点文章: Maven和Gradle中配置单元测试框架Spock Groovy单元测试框架spock基础功能Demo Groovy单元测试框架spock数据驱动Demo...试试Groovy进行单元测试 使用WireMock进行更好的集成测试 如何测试这个方法--功能篇 如何测试这个方法--性能篇 单元测试用例 JUnit 5和Selenium基础(一) JUnit 5和Selenium...import spock.lang.Specification import static com.fun.config.Constant.EMPTY import static com.fun.config.Constant.TEST_ERROR_CODE
公司通常更喜欢擅长编写单元测试并且熟悉各种单元测试框架,库和工具的程序员,例如 JUnit, Selenium,REST-Assured, Spock框架等。...在本文中,我将分享10个最好的和必不可少的 工具, 框架和库,它们可以帮助Java开发人员在各种Java项目上编写单元测试和集成测试。 1. JUnit 我不认为JUnit需要任何介绍。...REST Assured 在Java中测试和验证REST服务比在 Groovy等动态语言中更难。 REST Assured将使用这些语言的简单性带入了Java域。...当您使用Spock时,您的测试将变得更易读并且更易于维护,并且由于其JUnit运行程序,Spock与大多数IDE,构建工具和持续集成服务器兼容。 7....Spring Test Spring MVC带有一个非常有用的测试框架,允许在不涉及 Web容器的 情况下进行深入测试。 它是向Spring应用程序编写自动化测试的最有用的库之一。
公司通常更喜欢擅长编写单元测试并且熟悉各种单元测试框架,库和工具的程序员,例如JUnit,Selenium,REST-Assured,Spock框架等。...在本文中,我将分享10个最好的和必不可少的工具,框架和库,它们可以帮助Java开发人员在各种Java项目上编写单元测试和集成测试。 1、JUnit 我不认为JUnit需要任何介绍。...2、REST Assured 在Java中测试和验证REST服务比在Groovy等动态语言中更难。 REST Assured将使用这些语言的简单性带入了Java域。...当您使用Spock时,您的测试将变得更易读并且更易于维护,并且由于其JUnit运行程序,Spock与大多数IDE,构建工具和持续集成服务器兼容。...8、Spring Test Spring MVC带有一个非常有用的测试框架,允许在不涉及Web容器的情况下进行深入测试。 它是向Spring应用程序编写自动化测试的最有用的库之一。
Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring Boot项目中使用该框架写优雅、高效以及DSL化的测试用例。...Spock通过@RunWith注解与JUnit框架协同使用,另外,Spock也可以和Mockito(Spring Boot应用的测试——Mockito)协同使用。...在pom文件中添加Spock框架的依赖 在src/test目录下创建groovy文件夹,在groovy文件夹下创建com/test/bookpub包。...Note:关于Spock的文档见这里:Spock Framework Reference Documentation 根据《单元测试的艺术》一书中提到的,单元测试包括:准备测试数据、执行待测试方法、
介绍 Verdaccio 是一个简单的,零配置所需的本地私有 npm registry。无需整个数据库就可以开始!...Verdaccio 是轻量级的私有 NPM 代理 registry。 提示:阅读本文需要你有一定的 kubernetes 使用基础。...启用并定制 Ingress 笔者使用的是 Traefik v2.2,所以如下: ingress: enabled: true # Set to true if you are on an old...secretName: your-company-cert hosts: - npm.your-company.com configMap 配置 #....other # 使用淘宝的...cnpmjs镜像,加速 uplinks: npmjs: url: https://registry.npm.taobao.org/ # @company/* 的包直接从私有库中获取,其它的走
先介绍一下两位主角 spock是一款基于Groovy语言的单元测试框架,其基础也是Java的Junit,目前最新版已经到了2.0,但对Groovy和响应的Java版本要求较高,具体信息参考:Spock...在写单元测试的过程中,由于各种依赖的关系导致的阻碍,我们必需用到Mockito类似的框架来完成资源、对象的模拟。...', version: '1.3-groovy-2.5' testCompile group: 'org.springframework', name: 'spring-test', version...应用还是非常流畅的,但是一些高级语法还是无法使用,如果在实际项目中使用请多调研两者差别,大概率还是要混合编程。...参考文章: Maven和Gradle中配置单元测试框架Spock Groovy单元测试框架spock基础功能Demo Groovy单元测试框架spock数据驱动Demo ---- 郑重声明:“FunTester
领取专属 10元无门槛券
手把手带您无忧上云