qq3245792286

 

spock的介绍

<img src="https://tva1.sinaimg.cn/large/008eGmZEgy1gmipihftrbj30xc0gi764.jpg" style="zoom:25%;" />

spock与junit等单元测试框架一样都是java生态内比较流行的单元测试框架,不同点在于spock基于groovy动态语言,这使得spock相较于传统Java单元测试框架具备了更强的动态能力,从语法风格来比较 spock 单元测试的语义性更强,代码本身更能简洁直观的体现出测试用例。下对spock与传统java单元测试进行对比。

传统的java单元测试

    @Test
    public void testVersionFilter() {
        PowerMockito.mockStatic(CurrentScope.class, CommonWebScope.class);
        PowerMockito.when(CurrentScope.appVer()).thenReturn(AppVer.of("4.0.0"));
        PowerMockito.when(CurrentScope.clientId()).thenReturn(ClientId.ANDROID);
        PowerMockito.when(CommonWebScope.appType()).thenReturn(AppType.ANDROID_CN );

        TestResource resource;
        // 在android ios 最小版本之上
        resource = TestResource.builder()
                .androidMinVersion("3.0.0")
                .androidMaxVersion("6.0.0")
                .iosMinVersion("4.0.0")
                .iosMaxVersion("4.0.0")
                .build();
        Assertions.assertThat(resource.isValid()).isEqualTo(true);

        // 在android ios 最小版本之上 android 在最大版本上
        resource = TestResource.builder()
                .androidMinVersion("3.0.0")
                .androidMaxVersion("4.0.0")
                .iosMinVersion("4.0.0")
                .iosMaxVersion("4.0.0")
                .build();
        Assertions.assertThat(resource.isValid()).isEqualTo(false);

        // 在android 最小版本之下 ios之上
        resource = TestResource.builder()
                .androidMinVersion("7.0.0")
                .iosMinVersion("3.0.0")
                .build();
        Assertions.assertThat(resource.isValid()).isEqualTo(false);

        PowerMockito.when(CurrentScope.appVer()).thenReturn(AppVer.of("5.0.0"));
        PowerMockito.when(CurrentScope.clientId()).thenReturn(ClientId.IPHONE);
        PowerMockito.

分类:

技术点:

相关文章: