Add unit test to dubbo-monitor module
private volatile URL lastStatistics;
    private final MonitorService monitorService = new MonitorService() {
        public void collect(URL statistics) {
            DubboMonitorTest.this.lastStatistics = statistics;
        }
        public List<URL> lookup(URL query) {
            return Arrays.asList(DubboMonitorTest.this.lastStatistics);
        }
    };
    @Test
    public void testCount() throws Exception {
        DubboMonitor monitor = new DubboMonitor(monitorInvoker, monitorService);
        URL statistics = new URL("dubbo", "10.20.153.10", 0)
                .addParameter(MonitorService.APPLICATION, "morgan")
                .addParameter(MonitorService.INTERFACE, "MemberService")
                .addParameter(MonitorService.METHOD, "findPerson")
                .addParameter(MonitorService.CONSUMER, "10.20.153.11")
                .addParameter(MonitorService.SUCCESS, 1)
                .addParameter(MonitorService.FAILURE, 0)
                .addParameter(MonitorService.ELAPSED, 3)
                .addParameter(MonitorService.MAX_ELAPSED, 3)
                .addParameter(MonitorService.CONCURRENT, 1)
                .addParameter(MonitorService.MAX_CONCURRENT, 1);
        monitor.collect(statistics);
        while (lastStatistics == null) {
            Thread.sleep(10);
        }
        Assert.assertEquals(lastStatistics.getParameter(MonitorService.APPLICATION), "morgan");
        Assert.assertEquals(lastStatistics.getProtocol(), "dubbo");
        Assert.assertEquals(lastStatistics.getHost(), "10.20.153.10");