Add unit test to the modules: 
dubbo-registry/dubbo-registry-multicast
   dubbo-registry/dubbo-registry-redis
  dubbo-registry/dubbo-registry-zookeeper 
private static final Logger logger = LoggerFactory.getLogger(MulticastRegistry.class);
    private static final int DEFAULT_MULTICAST_PORT = 1234;
    private final InetAddress mutilcastAddress;
    private final MulticastSocket mutilcastSocket;
    private final int mutilcastPort;
    private final ConcurrentMap<URL, Set<URL>> received = new ConcurrentHashMap<URL, Set<URL>>();
    private final ScheduledExecutorService cleanExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("DubboMulticastRegistryCleanTimer", true));
    private final ScheduledFuture<?> cleanFuture;
    private final int cleanPeriod;
    private volatile boolean admin = false;
    public MulticastRegistry(URL url) {
        super(url);
        if (url.isAnyHost()) {
            throw new IllegalStateException("registry address == null");
        }
        if (!isMulticastAddress(url.getHost())) {
            throw new IllegalArgumentException("Invalid multicast address " + url.getHost() + ", scope: 224.0.0.0 - 239.255.255.255");
        }
        try {
            mutilcastAddress = InetAddress.getByName(url.getHost());
            mutilcastPort = url.getPort() <= 0 ? DEFAULT_MULTICAST_PORT : url.getPort();
            mutilcastSocket = new MulticastSocket(mutilcastPort);
            mutilcastSocket.setLoopbackMode(false);
            mutilcastSocket.joinGroup(mutilcastAddress);
            Thread thread = new Thread(new Runnable() {