Spock2.x 新增特性
原生支持Java静态方法的mock,以及final类mock
旧版Spock只支持Groovy语言的静态方法mock(GroovyMock),如果要mock Java语言的静态方法需要引入一些第三方的mock框架如:powermock、jmockit,新版Spock内置支持了mockito等扩展(https://spockframework.org/spock/docs/2.4-M4/extensions.html#mock-makers),因为mockito后续版本已支持静态方法的mock,这样就不用再单独引入powermock、jmockit、或者一些第三方的插件来辅助
整体使用下来最大的感受就是相比之前mock一些静态方法、final类等场景时单测会变得更加简洁(只需要Spock原生的Mock和Spystatic就够了),目前已支持的列表如下:
相关文档:mock静态方法(https://spockframework.org/spock/docs/2.4-M4/interaction_based_testing.html#MockingStaticMethods)
基于Junit 5
Spock2.x基于junit5的版本,如果你的项目单测还是junit4,需要参考官方提供的迁移手册(https://spockframework.org/spock/docs/2.3/migration_guide.html)来升级
更多新特性参考官方的release_notes:(https://spockframework.org/spock/docs/2.3/release_notes.html)
当然也可以参考我的基于Spock2.4+Junit5的升级项目:https://github.com/lucas-myx/spock_example/tree/spock2-junit5-java21
除特别注明外,本站所有文章均为老K的Java博客原创,转载请注明出处来自https://javakk.com/3014.html
暂无评论