Picture Credit: https://softwareautotools.com/2017/03/01/mocking-explained-in-python/
Puppet Mocker & Starter Template for Wechaty, it is very useful when you:
- Want to test the Wechaty framework with a mock puppet, or
- You want to write your own Puppet implenmentation.
Then PuppetMock will helps you a lot.
import { Wechaty } from 'wechaty' import { PuppetMock } from 'wechaty-puppet-mock' const puppet = new PuppetMock() const wechaty = new Wechaty({ puppet }) wechaty.start()import { PuppetMock, Mocker, SimpleEnvironment, } from 'wechaty-puppet-mock' const mocker = new Mocker() mocker.use(SimpleEnvironment()) const puppet = new PuppetMock({ mocker }) const wechaty = new Wechaty({ puppet }) wechaty.start() // The Mocker will start perform the SimpleEnvironment...See: SimpleEnvironment
import { Wechaty } from 'wechaty' import { PuppetMock, mock } from 'wechaty-puppet-mock' const mocker = new mock.Mocker() const puppet = new PuppetMock({ mocker }) const bot = new Wechaty({ puppet }) await bot.start() mocker.scan('https://github.com/wechaty', 1) const user = mocker.createContact() mocker.login(user) const contact = mocker.createContact() const room = mocker.createRoom() user.say('Hello').to(contact) contact.say('World').to(user)this.state.on('pending') this.state.on(true) this.state.off('pending') this.state.off(true) await this.state.ready('on') await this.state.ready('off')await memory.set('config', { id: 1, key: 'xxx' }) const config = await memory.get('config') console.log(config) // Output: { id: 1, key: 'xxx' }Upgrade to Wechaty Puppet v1.18
Release v1.0 of Puppet Mock
- v0.31: Support ES Modules
- Rename
MockXXXtoXXXMockfor keep the consistent naming style withPuppetMock. - Export
mocknamespace and move all related modules under it.
Mocker Released. Mocker is a manager for controlling the behavior of the Puppet activities.
- Add
MockContact,MockRoom, andMockMessageforMockers - Add
MockEnvironmentfor mocking the server behaviors. - Support
Wechaty#Contact.find()from themocker.createContacts() - Support
Wechaty#Room.find()from themocker.createRooms() - Support
messageevent fortalker,listener, androomofMockMessage
Initial version.
PuppetMock is a skelton Puppet without do anything, it will make testing easy when developing Wechaty
- Code & Docs © 2018 Huan LI <zixia@zixia.net>
- Code released under the Apache-2.0 License
- Docs released under Creative Commons
