package me.chanjar.weixin.common.util; import me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker; import org.testng.Assert; import org.testng.annotations.Test; @Test public class WxMessageInMemoryDuplicateCheckerTest { public void test() throws InterruptedException { Long[] msgIds = new Long[] { 1l, 2l, 3l, 4l, 5l, 6l, 7l, 8l }; WxMessageInMemoryDuplicateChecker checker = new WxMessageInMemoryDuplicateChecker(2000l, 1000l); // 第一次检查 for (Long msgId : msgIds) { boolean result = checker.isDuplicate(String.valueOf(msgId)); Assert.assertFalse(result); } // 过1秒再检查 Thread.sleep(1000l); for (Long msgId : msgIds) { boolean result = checker.isDuplicate(String.valueOf(msgId)); Assert.assertTrue(result); } // 过1.5秒再检查 Thread.sleep(1500l); for (Long msgId : msgIds) { boolean result = checker.isDuplicate(String.valueOf(msgId)); Assert.assertFalse(result); } } }