重构bean和builder的包结构
This commit is contained in:
@@ -3,8 +3,8 @@ package me.chanjar.weixin.mp.api;
|
||||
import me.chanjar.weixin.common.api.WxConsts;
|
||||
import me.chanjar.weixin.common.session.StandardSessionManager;
|
||||
import me.chanjar.weixin.common.session.WxSessionManager;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Test;
|
||||
@@ -18,7 +18,7 @@ import java.util.Map;
|
||||
*/
|
||||
@Test
|
||||
public class WxMpMessageRouterTest {
|
||||
|
||||
|
||||
@Test(enabled = false)
|
||||
public void prepare(boolean async, StringBuffer sb, WxMpMessageRouter router) {
|
||||
router
|
||||
@@ -50,7 +50,7 @@ public class WxMpMessageRouterTest {
|
||||
}).handler(new WxEchoMpMessageHandler(sb, "matcher")).end()
|
||||
.rule().async(async).handler(new WxEchoMpMessageHandler(sb, "ALL")).end();
|
||||
}
|
||||
|
||||
|
||||
@Test(dataProvider="messages-1")
|
||||
public void testSync(WxMpXmlMessage message, String expected) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
@@ -59,7 +59,7 @@ public class WxMpMessageRouterTest {
|
||||
router.route(message);
|
||||
Assert.assertEquals(sb.toString(), expected);
|
||||
}
|
||||
|
||||
|
||||
@Test(dataProvider="messages-1")
|
||||
public void testAsync(WxMpXmlMessage message, String expected) throws InterruptedException {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
@@ -69,7 +69,7 @@ public class WxMpMessageRouterTest {
|
||||
Thread.sleep(500l);
|
||||
Assert.assertEquals(sb.toString(), expected);
|
||||
}
|
||||
|
||||
|
||||
public void testConcurrency() throws InterruptedException {
|
||||
final WxMpMessageRouter router = new WxMpMessageRouter(null);
|
||||
router.rule().handler(new WxMpMessageHandler() {
|
||||
@@ -79,7 +79,7 @@ public class WxMpMessageRouterTest {
|
||||
return null;
|
||||
}
|
||||
}).end();
|
||||
|
||||
|
||||
final WxMpXmlMessage m = new WxMpXmlMessage();
|
||||
Runnable r = new Runnable() {
|
||||
@Override
|
||||
@@ -94,26 +94,26 @@ public class WxMpMessageRouterTest {
|
||||
for (int i = 0; i < 10; i++) {
|
||||
new Thread(r).start();
|
||||
}
|
||||
|
||||
|
||||
Thread.sleep(1000l * 2);
|
||||
}
|
||||
@DataProvider(name="messages-1")
|
||||
public Object[][] messages2() {
|
||||
WxMpXmlMessage message1 = new WxMpXmlMessage();
|
||||
message1.setMsgType(WxConsts.XML_MSG_TEXT);
|
||||
|
||||
|
||||
WxMpXmlMessage message2 = new WxMpXmlMessage();
|
||||
message2.setEvent(WxConsts.EVT_CLICK);
|
||||
|
||||
|
||||
WxMpXmlMessage message3 = new WxMpXmlMessage();
|
||||
message3.setEventKey("KEY_1");
|
||||
|
||||
|
||||
WxMpXmlMessage message4 = new WxMpXmlMessage();
|
||||
message4.setContent("CONTENT_1");
|
||||
|
||||
|
||||
WxMpXmlMessage message5 = new WxMpXmlMessage();
|
||||
message5.setContent("BLA");
|
||||
|
||||
|
||||
WxMpXmlMessage message6 = new WxMpXmlMessage();
|
||||
message6.setContent("abcd");
|
||||
|
||||
@@ -123,18 +123,18 @@ public class WxMpMessageRouterTest {
|
||||
WxMpXmlMessage c2 = new WxMpXmlMessage();
|
||||
c2.setMsgType(WxConsts.XML_MSG_TEXT);
|
||||
c2.setEvent(WxConsts.EVT_CLICK);
|
||||
|
||||
|
||||
WxMpXmlMessage c3 = new WxMpXmlMessage();
|
||||
c3.setMsgType(WxConsts.XML_MSG_TEXT);
|
||||
c3.setEvent(WxConsts.EVT_CLICK);
|
||||
c3.setEventKey("KEY_1");
|
||||
|
||||
|
||||
WxMpXmlMessage c4 = new WxMpXmlMessage();
|
||||
c4.setMsgType(WxConsts.XML_MSG_TEXT);
|
||||
c4.setEvent(WxConsts.EVT_CLICK);
|
||||
c4.setEventKey("KEY_1");
|
||||
c4.setContent("CONTENT_1");
|
||||
|
||||
|
||||
return new Object[][] {
|
||||
new Object[] { message1, WxConsts.XML_MSG_TEXT + "," },
|
||||
new Object[] { message2, WxConsts.EVT_CLICK + "," },
|
||||
@@ -147,7 +147,7 @@ public class WxMpMessageRouterTest {
|
||||
new Object[] { c3, "COMBINE_3," },
|
||||
new Object[] { c4, "COMBINE_4," }
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static class WxEchoMpMessageHandler implements WxMpMessageHandler {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.chanjar.weixin.mp.bean;
|
||||
package me.chanjar.weixin.mp.bean.message;
|
||||
|
||||
import me.chanjar.weixin.common.api.WxConsts;
|
||||
import org.testng.Assert;
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.chanjar.weixin.mp.bean;
|
||||
package me.chanjar.weixin.mp.bean.message;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
@@ -12,7 +12,7 @@ public class WxMpXmlOutImageMessageTest {
|
||||
m.setCreateTime(1122l);
|
||||
m.setFromUserName("from");
|
||||
m.setToUserName("to");
|
||||
|
||||
|
||||
String expected = "<xml>"
|
||||
+ "<ToUserName><![CDATA[to]]></ToUserName>"
|
||||
+ "<FromUserName><![CDATA[from]]></FromUserName>"
|
||||
@@ -23,7 +23,7 @@ public class WxMpXmlOutImageMessageTest {
|
||||
System.out.println(m.toXml());
|
||||
Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", ""));
|
||||
}
|
||||
|
||||
|
||||
public void testBuild() {
|
||||
WxMpXmlOutImageMessage m = WxMpXmlOutMessage.IMAGE().mediaId("ddfefesfsdfef").fromUser("from").toUser("to").build();
|
||||
String expected = "<xml>"
|
||||
@@ -38,11 +38,11 @@ public class WxMpXmlOutImageMessageTest {
|
||||
m
|
||||
.toXml()
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
expected
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", "")
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package me.chanjar.weixin.mp.bean;
|
||||
package me.chanjar.weixin.mp.bean.message;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test
|
||||
public class WxXmlOutMusicMessageTest {
|
||||
public class WxMpXmlOutMusicMessageTest {
|
||||
|
||||
public void test() {
|
||||
WxMpXmlOutMusicMessage m = new WxMpXmlOutMusicMessage();
|
||||
@@ -16,7 +16,7 @@ public class WxXmlOutMusicMessageTest {
|
||||
m.setCreateTime(1122l);
|
||||
m.setFromUserName("fromUser");
|
||||
m.setToUserName("toUser");
|
||||
|
||||
|
||||
String expected = "<xml>"
|
||||
+ "<ToUserName><![CDATA[toUser]]></ToUserName>"
|
||||
+ "<FromUserName><![CDATA[fromUser]]></FromUserName>"
|
||||
@@ -33,7 +33,7 @@ public class WxXmlOutMusicMessageTest {
|
||||
System.out.println(m.toXml());
|
||||
Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", ""));
|
||||
}
|
||||
|
||||
|
||||
public void testBuild() {
|
||||
WxMpXmlOutMusicMessage m = WxMpXmlOutMessage.MUSIC()
|
||||
.fromUser("fromUser")
|
||||
@@ -62,11 +62,11 @@ public class WxXmlOutMusicMessageTest {
|
||||
m
|
||||
.toXml()
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
expected
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", "")
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
package me.chanjar.weixin.mp.bean;
|
||||
package me.chanjar.weixin.mp.bean.message;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test
|
||||
public class WxXmlOutNewsMessageTest {
|
||||
public class WxMpXmlOutNewsMessageTest {
|
||||
|
||||
public void test() {
|
||||
WxMpXmlOutNewsMessage m = new WxMpXmlOutNewsMessage();
|
||||
m.setCreateTime(1122l);
|
||||
m.setFromUserName("fromUser");
|
||||
m.setToUserName("toUser");
|
||||
|
||||
|
||||
WxMpXmlOutNewsMessage.Item item = new WxMpXmlOutNewsMessage.Item();
|
||||
item.setDescription("description");
|
||||
item.setPicUrl("picUrl");
|
||||
@@ -43,14 +43,14 @@ public class WxXmlOutNewsMessageTest {
|
||||
System.out.println(m.toXml());
|
||||
Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", ""));
|
||||
}
|
||||
|
||||
|
||||
public void testBuild() {
|
||||
WxMpXmlOutNewsMessage.Item item = new WxMpXmlOutNewsMessage.Item();
|
||||
item.setDescription("description");
|
||||
item.setPicUrl("picUrl");
|
||||
item.setTitle("title");
|
||||
item.setUrl("url");
|
||||
|
||||
|
||||
WxMpXmlOutNewsMessage m = WxMpXmlOutMessage.NEWS()
|
||||
.fromUser("fromUser")
|
||||
.toUser("toUser")
|
||||
@@ -83,11 +83,11 @@ public class WxXmlOutNewsMessageTest {
|
||||
m
|
||||
.toXml()
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
expected
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", "")
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package me.chanjar.weixin.mp.bean;
|
||||
package me.chanjar.weixin.mp.bean.message;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test
|
||||
public class WxXmlOutTextMessageTest {
|
||||
public class WxMpXmlOutTextMessageTest {
|
||||
|
||||
public void test() {
|
||||
WxMpXmlOutTextMessage m = new WxMpXmlOutTextMessage();
|
||||
@@ -12,7 +12,7 @@ public class WxXmlOutTextMessageTest {
|
||||
m.setCreateTime(1122l);
|
||||
m.setFromUserName("from");
|
||||
m.setToUserName("to");
|
||||
|
||||
|
||||
String expected = "<xml>"
|
||||
+ "<ToUserName><![CDATA[to]]></ToUserName>"
|
||||
+ "<FromUserName><![CDATA[from]]></FromUserName>"
|
||||
@@ -23,7 +23,7 @@ public class WxXmlOutTextMessageTest {
|
||||
System.out.println(m.toXml());
|
||||
Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", ""));
|
||||
}
|
||||
|
||||
|
||||
public void testBuild() {
|
||||
WxMpXmlOutTextMessage m = WxMpXmlOutMessage.TEXT().content("content").fromUser("from").toUser("to").build();
|
||||
String expected = "<xml>"
|
||||
@@ -38,13 +38,13 @@ public class WxXmlOutTextMessageTest {
|
||||
m
|
||||
.toXml()
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
expected
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", "")
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package me.chanjar.weixin.mp.bean;
|
||||
package me.chanjar.weixin.mp.bean.message;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
@@ -1,10 +1,10 @@
|
||||
package me.chanjar.weixin.mp.bean;
|
||||
package me.chanjar.weixin.mp.bean.message;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test
|
||||
public class WxXmlOutVideoMessageTest {
|
||||
public class WxMpXmlOutVideoMessageTest {
|
||||
|
||||
public void test() {
|
||||
WxMpXmlOutVideoMessage m = new WxMpXmlOutVideoMessage();
|
||||
@@ -14,7 +14,7 @@ public class WxXmlOutVideoMessageTest {
|
||||
m.setCreateTime(1122l);
|
||||
m.setFromUserName("fromUser");
|
||||
m.setToUserName("toUser");
|
||||
|
||||
|
||||
String expected = "<xml>"
|
||||
+ "<ToUserName><![CDATA[toUser]]></ToUserName>"
|
||||
+ "<FromUserName><![CDATA[fromUser]]></FromUserName>"
|
||||
@@ -29,7 +29,7 @@ public class WxXmlOutVideoMessageTest {
|
||||
System.out.println(m.toXml());
|
||||
Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", ""));
|
||||
}
|
||||
|
||||
|
||||
public void testBuild() {
|
||||
WxMpXmlOutVideoMessage m = WxMpXmlOutMessage.VIDEO()
|
||||
.mediaId("media_id")
|
||||
@@ -54,11 +54,11 @@ public class WxXmlOutVideoMessageTest {
|
||||
m
|
||||
.toXml()
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
expected
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", "")
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package me.chanjar.weixin.mp.bean;
|
||||
package me.chanjar.weixin.mp.bean.message;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Test
|
||||
public class WxXmlOutVoiceMessageTest {
|
||||
public class WxMpXmlOutVoiceMessageTest {
|
||||
|
||||
public void test() {
|
||||
WxMpXmlOutVoiceMessage m = new WxMpXmlOutVoiceMessage();
|
||||
@@ -12,7 +12,7 @@ public class WxXmlOutVoiceMessageTest {
|
||||
m.setCreateTime(1122l);
|
||||
m.setFromUserName("from");
|
||||
m.setToUserName("to");
|
||||
|
||||
|
||||
String expected = "<xml>"
|
||||
+ "<ToUserName><![CDATA[to]]></ToUserName>"
|
||||
+ "<FromUserName><![CDATA[from]]></FromUserName>"
|
||||
@@ -23,7 +23,7 @@ public class WxXmlOutVoiceMessageTest {
|
||||
System.out.println(m.toXml());
|
||||
Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", ""));
|
||||
}
|
||||
|
||||
|
||||
public void testBuild() {
|
||||
WxMpXmlOutVoiceMessage m = WxMpXmlOutMessage.VOICE().mediaId("ddfefesfsdfef").fromUser("from").toUser("to").build();
|
||||
String expected = "<xml>"
|
||||
@@ -38,11 +38,11 @@ public class WxXmlOutVoiceMessageTest {
|
||||
m
|
||||
.toXml()
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", ""),
|
||||
expected
|
||||
.replaceAll("\\s", "")
|
||||
.replaceAll("<CreateTime>.*?</CreateTime>", "")
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -11,8 +11,8 @@ import me.chanjar.weixin.mp.api.WxMpMessageHandler;
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageMatcher;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
|
||||
|
||||
public class DemoGuessNumberHandler implements WxMpMessageHandler, WxMpMessageMatcher {
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ import me.chanjar.weixin.common.exception.WxErrorException;
|
||||
import me.chanjar.weixin.common.session.WxSessionManager;
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageHandler;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutImageMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutImageMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -3,8 +3,8 @@ package me.chanjar.weixin.mp.demo;
|
||||
import me.chanjar.weixin.common.session.WxSessionManager;
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageHandler;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ import me.chanjar.weixin.common.api.WxConsts;
|
||||
import me.chanjar.weixin.common.session.WxSessionManager;
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageHandler;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ package me.chanjar.weixin.mp.demo;
|
||||
import me.chanjar.weixin.common.session.WxSessionManager;
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageHandler;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutTextMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutTextMessage;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ import me.chanjar.weixin.common.util.StringUtils;
|
||||
import me.chanjar.weixin.mp.api.WxMpConfigStorage;
|
||||
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
|
||||
import me.chanjar.weixin.mp.api.WxMpService;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
|
||||
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
|
||||
|
||||
/**
|
||||
* @author Daniel Qian
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
<test name="Bean_Test">
|
||||
<classes>
|
||||
<class name="me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.WxMpXmlMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.WxMpXmlOutImageMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.WxXmlOutMusicMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.WxXmlOutNewsMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.WxXmlOutVideoMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.WxXmlOutVoiceMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.WxXmlOutTextMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.message.WxMpXmlMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.message.WxMpXmlOutImageMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.message.WxMpXmlOutMusicMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.message.WxMpXmlOutNewsMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.message.WxMpXmlOutVideoMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.message.WxMpXmlOutVoiceMessageTest" />
|
||||
<class name="me.chanjar.weixin.mp.bean.message.WxMpXmlOutTextMessageTest" />
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
||||
|
||||
Reference in New Issue
Block a user