1. non-simplify mode:
```
dubbo://120.0.0.1:20880/org.apache.dubbo.demo.DemoService?key=value
```
the store path of ZK will be: `/dubbo/porg.apache.dubbo.demo.DemoService/url`

2. simplify mode:
```
dubbo://120.0.0.1:20880/org.apache.dubbo.demo.DemoService?key=value
```
the store path of ZK will be: `/dubbo/porg.apache.dubbo.demo.DemoService/url`

3. simplify mode with path specified:
```
dubbo://120.0.0.1:20880/path-value?key=value
```
the store path of ZK will be: `/dubbo/path-value/url`
Assertions.assertThrows(IllegalArgumentException.class, () -> {
            ServiceBuilder builder = new ServiceBuilder();
            builder.mock("true");
        });
    }
    @Test
    public void Mock1() throws Exception {
        Assertions.assertThrows(IllegalArgumentException.class, () -> {
            ServiceBuilder builder = new ServiceBuilder();
            builder.mock(true);
        });
    }
    @Test
    void build() {
        MethodConfig method = new MethodConfig();
        ProviderConfig provider = new ProviderConfig();
        ServiceBuilder builder = new ServiceBuilder();
        builder.path("path").addMethod(method).provider(provider).providerIds("providerIds")
                .generic(GENERIC_SERIALIZATION_DEFAULT);
        ServiceConfig config = builder.build();
        ServiceConfig config2 = builder.build();
        assertThat(config.getGeneric(), equalTo(GENERIC_SERIALIZATION_DEFAULT));
        Assertions.assertEquals("path", config.getPath());
        Assertions.assertEquals("providerIds", config.getProviderIds());
        Assertions.assertSame(provider, config.getProvider());
        Assertions.assertTrue(config.getMethods().contains(method));
        Assertions.assertEquals(1, config.getMethods().size());
        Assertions.assertNotSame(config, config2);
    }
}