0.0.5 • Published 3 years ago
@hyext-mock/sdk v0.0.5
mock-sdk
SDK 接口的模拟方案
Moker
一个单纯存储实现的模拟器,配合工厂模式去使用。
Constructor
constructor(implement)
- 传入一个mock实现函数
API
mock.getMockImplement()
- 获取内部mock实现函数。mock.hack(cb)
- 回调函数会传入一个内部mock实现函数,我们可以在函数中处理hack逻辑。
已模拟的接口
advance.sendWup
发送taf请求
API
createSendWupMocker(dataSource: DataSource): Mocker
- 传入一个 dataSource 对象,创建一个sendWup mocker。
Params
// type decaration
type DataSource = {
[key: string]: (req: any) => any
}
For example:
// for example
const dataSource = {
fetchDataFnName: fetchDataFnImplementation
}
const sendWupMocker = createSendWupMocker(dataSource)
const impliment = sendWupMocker.getMockImplement()
Mock Impliment
sendWupMocker.getMockImplement()
返回的impliment函数其接口与sendWup保持一致。
advance.onWupMessage
监听taf消息,基于onWupMessage
接口封装的监听消息接口,可接受一个模拟事件配置队列, 底层依赖@hyext-mock/event-mock-excutor。
API
createOnWupMessagesMocker(mockEventConfigQueue: MockEventConfigQueue): Mocker
- 传入一个 mockEventConfigQueue队列,创建一个onWupMessages mocker。
Params
// type decaration
type MockEventConfig = {
uri: string // 协议号 或 事件名
workCount?: number // 触发次数, 默认 1
data: GetData // 获取数据函数,传入一个workCount
intervalTime?: number // 重复执行的间隔,默认 0
delay?: number // 啥时候开始执行,默认 0
disable?: boolean // 禁用这个事件, 默认 undfined
}
type MockEventConfigQueue = MockEventConfig[]
For example:
// for example
const mockEventConfigQueue = [
// 延时1秒后执行2次,执行的间隔为1秒
{
uri: '666',
data: jest.fn(v => v),// 模拟服务器数据
workCount: 2,
intervalTime: 1000,
delay: 1000
},
{
uri: '7758',
data: jest.fn(v => v)
},
]
const onWupMessagesMocker = createOnWupMessagesMocker(mockEventConfigQueue)
const impliment = onWupMessagesMocker.getMockImplement()
// do something by onWupMessagesMocker
Mock Impliment
onWupMessagesMocker.getMockImplement()
返回的接口与原接口略所不同,详情如下:
type EventConfigQueue = {
uri: string
messageClass: any // 消息结构体
handler: (data: any) => any // 数据处理函数
}
For example:
const onWupMessages = onWupMessagesMocker.getMockImplement()
onWupMessages([
uri: '1123',
messageClass: HUYA.xxxRsp,
handler: (data) => {
// do something with data
}
])
0.0.5
3 years ago
0.0.4
4 years ago
0.0.3
4 years ago
0.0.1
4 years ago
0.0.2
4 years ago
0.0.1-beta.2
4 years ago
0.0.1-beta.1
4 years ago