增加单元测试

This commit is contained in:
eatMoreApple 2021-04-27 11:23:41 +08:00
parent 291010997f
commit 2acac1db49

View File

@ -1,170 +1,196 @@
package openwechat package openwechat
import ( import (
"fmt" "fmt"
"testing" "testing"
) )
func defaultBot(modes ...mode) *Bot { func defaultBot(modes ...mode) *Bot {
bot := DefaultBot(modes...) bot := DefaultBot(modes...)
bot.UUIDCallback = PrintlnQrcodeUrl bot.UUIDCallback = PrintlnQrcodeUrl
return bot return bot
} }
func getSelf(modes ...mode) (*Self, error) { func getSelf(modes ...mode) (*Self, error) {
bot := defaultBot(modes...) bot := defaultBot(modes...)
if err := bot.Login(); err != nil { if err := bot.Login(); err != nil {
return nil, err return nil, err
} }
return bot.GetCurrentUser() return bot.GetCurrentUser()
} }
func TestBotLogin(t *testing.T) { func TestBotLogin(t *testing.T) {
bot := defaultBot() bot := defaultBot()
if err := bot.Login(); err != nil { if err := bot.Login(); err != nil {
t.Error(err) t.Error(err)
return return
} }
self, err := bot.GetCurrentUser() self, err := bot.GetCurrentUser()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
t.Log(self.NickName) t.Log(self.NickName)
} }
func TestMessage(t *testing.T) { func TestMessage(t *testing.T) {
bot := defaultBot() bot := defaultBot()
bot.MessageHandler = func(msg *Message) { bot.MessageHandler = func(msg *Message) {
if msg.IsMedia() { if msg.IsMedia() {
t.Log(msg.Content) t.Log(msg.Content)
fmt.Println() fmt.Println()
} }
if msg.IsCard() { if msg.IsCard() {
c, _ := msg.Card() c, _ := msg.Card()
t.Log(c.Alias) t.Log(c.Alias)
} }
} }
if err := bot.Login(); err != nil { if err := bot.Login(); err != nil {
t.Error(err) t.Error(err)
return return
} }
bot.Block() bot.Block()
} }
func TestFriend(t *testing.T) { func TestFriend(t *testing.T) {
self, err := getSelf() self, err := getSelf()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
friends, err := self.Friends() friends, err := self.Friends()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
t.Log(friends) t.Log(friends)
} }
func TestGroup(t *testing.T) { func TestGroup(t *testing.T) {
self, err := getSelf() self, err := getSelf()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
group, err := self.Groups() group, err := self.Groups()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
t.Log(group) t.Log(group)
g := group.SearchByNickName(1, "杭州Gopher群组") g := group.SearchByNickName(1, "杭州Gopher群组")
if g.First() != nil { if g.First() != nil {
members, err := g.First().Members() members, err := g.First().Members()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
t.Log(members.Count()) t.Log(members.Count())
} }
} }
func TestMps(t *testing.T) { func TestMps(t *testing.T) {
self, err := getSelf() self, err := getSelf()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
mps, err := self.Mps() mps, err := self.Mps()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
t.Log(mps) t.Log(mps)
} }
func TestAddFriendIntoChatRoom(t *testing.T) { func TestAddFriendIntoChatRoom(t *testing.T) {
self, err := getSelf(Desktop) self, err := getSelf(Desktop)
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
groups, err := self.Groups() groups, err := self.Groups()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
friends, err := self.Friends() friends, err := self.Friends()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
searchGroups := groups.SearchByNickName(1, "厉害了") searchGroups := groups.SearchByNickName(1, "厉害了")
if g := searchGroups.First(); g != nil { if g := searchGroups.First(); g != nil {
addFriends := friends.SearchByRemarkName(1, "1") addFriends := friends.SearchByRemarkName(1, "1")
if err := g.AddFriendsIn(addFriends...); err != nil { if err := g.AddFriendsIn(addFriends...); err != nil {
t.Error(err) t.Error(err)
} }
} }
} }
func TestRemoveFriendIntoChatRoom(t *testing.T) { func TestRemoveFriendIntoChatRoom(t *testing.T) {
self, err := getSelf() self, err := getSelf()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
groups, err := self.Groups() groups, err := self.Groups()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
friends, err := self.Friends() friends, err := self.Friends()
if err != nil { if err != nil {
t.Error(err) t.Error(err)
return return
} }
searchGroups := groups.SearchByNickName(1, "厉害了") searchGroups := groups.SearchByNickName(1, "厉害了")
if g := searchGroups.First(); g != nil { if g := searchGroups.First(); g != nil {
addFriends := friends.SearchByRemarkName(1, "大爷") addFriends := friends.SearchByRemarkName(1, "大爷")
if f := addFriends.First(); f != nil { if f := addFriends.First(); f != nil {
if err := g.RemoveMembers(Members{f.User}); err != nil { if err := g.RemoveMembers(Members{f.User}); err != nil {
t.Error(err) t.Error(err)
} }
} }
} }
} }
func TestLogout(t *testing.T) { func TestLogout(t *testing.T) {
bot := defaultBot() bot := defaultBot()
bot.MessageHandler = func(msg *Message) { bot.MessageHandler = func(msg *Message) {
if msg.Content == "logout" { if msg.Content == "logout" {
msg.Bot.Logout() msg.Bot.Logout()
} }
} }
if err := bot.Login(); err != nil { if err := bot.Login(); err != nil {
t.Error(err) t.Error(err)
return return
} }
bot.Block() bot.Block()
}
func TestSendMessage(t *testing.T) {
bot := defaultBot()
if err := bot.Login(); err != nil {
t.Error(err)
return
}
self, err := bot.GetCurrentUser()
if err != nil {
t.Error(err)
return
}
helper, err := self.FileHelper()
if err != nil {
t.Error(err)
return
}
if err = helper.SendText("test message! received ?"); err != nil {
t.Error(err)
return
}
if err = self.SendTextToFriend(helper, "send test message twice ! received?"); err != nil {
t.Error(err)
return
}
} }