|
测试的对象是 JS 小程序 es6 测试框架用的是mocha
在没拿到研发的代码之前我就有些许疑惑:和前端有互动的函数要怎么去测
在网上的mocha教程中 ,大多都是没有和前端或者服务器互动的函数和判断。
这样测试用例写起来当然简单直接。
可是现实当中不太有这种情况出现。
下面是一个增加或减少购物车中商品数量的函数
//增减购物车商品数量
reduceAddCount:function(e){
console.log(e)
let index = e.currentTarget.dataset.index
let cartData = JSON.parse(JSON.stringify(this.data.cartData))
if (e.currentTarget.dataset.type === '0') {
if (cartData[index].goods_num > 1){
--cartData[index].goods_num
let cart = {
goods_num: cartData[index].goods_num,
cart_id: cartData[index].id
}
wxRequest('/cart/changeNum', cart,'GET',false).then(res => {
this.setData({ cartData: cartData })
this.getTotalPrice()
})
}
} else {
if(cartData[index].goods_num < cartData[index].goods.store_count){
++cartData[index].goods_num
let cart = {
goods_num: cartData[index].goods_num,
cart_id: cartData[index].id,
type: e.currentTarget.dataset.type
}
wxRequest('/cart/changeNum', cart,'GET',false).then(res => {
this.setData({ cartData: cartData })
this.getTotalPrice()
})
}else{
Toast({
message: '库存不足',
selector: '#zan-toast-test',
type: 'fail'
})
}
}
},
可以看到 数量的加减判断是通过 用户点击的按钮和当前商品数量来判断是否可以加减的。之后再进行自减一或自加一。
那么我要如何模拟用户的点击或者其他操作呢。毕竟有些函数是需要操作才会触发。
还是我直接定义一个变量替换掉呢? |
|