前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我刚刚给Hoverfly-java-junit5提了一个PR

我刚刚给Hoverfly-java-junit5提了一个PR

作者头像
Antony
发布2021-03-24 16:25:04
3640
发布2021-03-24 16:25:04
举报
文章被收录于专栏:软件测试那些事

在之前的真香系列之2-自动录制回放的Hoverfly-java-Junit5 一文中,笔者有提到一个问题,Hoverfly-java-junit5不提供增量录制的问题。

在Junit4中,可以这样使用Hoverfly.

代码语言:javascript
复制
@ClassRule
public static HoverflyRule hoverflyRule = 
HoverflyRule.inCaptureMode("simulation.json",
        localConfigs()
                .enableIncrementalCapture());
@Test 
public testCaptureFirstA() {
}

@Test
public testCaptureSecondB(){
}
               
                

在上述案例中,如果我们先运行testCaptureFirstA测试用例,Hoverfly会在默认目录下生成simulation.json 这一文件。并且因为启动了增量录制enableIncrementalCapture,如果再单独执行testCaptureSecondB,Hoverfly会复用已有的文件进行录制结果的增量存放,而不是覆盖。这样,对于用例的逐条开发是非常有利的。

不过呢,似乎Hover团队在交付Hoverfly-java时,忘记给Hoverfly-java-junit5来开发这一功能了。这个易用性的问题给笔者在公司推广Hoverfly造成了一定的困难。为此,笔者还专门提了一个issue。

https://github.com/SpectoLabs/hoverfly-java/issues/254

Please provide this feature so we can have the case as below,

代码语言:javascript
复制
@HoverflyCapture(path = "build/resources/test/hoverfly",
filename = "captured-simulation.json",
config = @HoverflyConfig(captureAllHeaders = true, proxyLocalHost = true,enableIncrementalCapture=true))
@ExtendWith(HoverflyExtension.class)
class CaptureTests {
// ...
}

不过,似乎这个项目目前处于维护不活跃的时期。笔者大约一个月前提的Issue,到现在没有任何的回复。再观察一下,发现最近一个合并代码是2020年的最后一天。。。

本着谁提意见谁解决的优良传统,笔者自己参照Hoverfly-java的解决方案,给hoverfly-java-junit5同样增加了这个功能,并且提了一个PR

feat: add enableIncrementalCapture in hoverfly-java-junit5

通过这个提交,就可以按照上述junit5的案例来使用增量录制了。再也不用使用现在的workaround,在用例开发过程中,分开文件进行录制,最后进行请求/响应文件内容的合并。

欢迎试用

https://github.com/SpectoLabs/hoverfly-java/issues/255

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试那些事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档