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`
ProviderConfig provider = new ProviderConfig();
        ServiceBuilder builder = new ServiceBuilder();
        builder.provider(provider);
        Assertions.assertSame(provider, builder.build().getProvider());
    }
    @Test
    void providerIds() {
        ServiceBuilder builder = new ServiceBuilder();
        builder.providerIds("providerIds");
        Assertions.assertEquals("providerIds", builder.build().getProviderIds());
    }
    @Test
    public void generic() throws Exception {
        ServiceBuilder builder = new ServiceBuilder();
        builder.generic(GENERIC_SERIALIZATION_DEFAULT);
        assertThat(builder.build().getGeneric(), equalTo(GENERIC_SERIALIZATION_DEFAULT));
        builder.generic(GENERIC_SERIALIZATION_NATIVE_JAVA);
        assertThat(builder.build().getGeneric(), equalTo(GENERIC_SERIALIZATION_NATIVE_JAVA));
        builder.generic(GENERIC_SERIALIZATION_BEAN);
        assertThat(builder.build().getGeneric(), equalTo(GENERIC_SERIALIZATION_BEAN));
    }
    @Test
    public void generic1() throws Exception {
        Assertions.assertThrows(IllegalArgumentException.class, () -> {
            ServiceBuilder builder = new ServiceBuilder();
            builder.generic("illegal").build();
        });
    }
    @Test
    public void Mock() throws Exception {