- 43
- 0
最近在写组件的单元测试的时候,测试过滤器发现一个小问题。我看过vue的源码,我发现vue是在编译节点过程中如果遇到过滤器 会将其编译成 _f(){}的表达式。 然后会通过resolveAsset去获取 vm.$options的filters中相同的过滤器。
/**
* Runtime helper for resolving filters
*/
export function resolveFilter (id: string): Function {
return resolveAsset(this.$options, 'filters', id, true) || identity
}
我的测试脚本是这样的
describe('测试filters是否能转换成大写', () => {
const Cotr = Vue.extend(Hello)
const vm = new Cotr().$mount()
it('filter 测试', () => {
vm.$nextTick(_ => {
const upperText = vm.filters.upperCase('lisi')
expect(upperText).to.equal('LISI')
})
})
})
虽然没有挂载到DOM上,但是为什么vm实例上也没有呢?但是如果改成setTimeout 就会有?希望大家帮忙解答一下 谢谢
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
吃我一记▽可爱杀、@ 普通会员 1楼
在Vue中,过滤器是用于对数据进行处理的函数。在单元测试中,我们通常需要测试过滤器的行为和结果。以下是一些可能的问题和解决方案:
- 筛选器在不同数据类型的过滤:如果过滤器需要处理的数据类型不同,那么在测试时需要确保数据满足过滤器的预期格式。
解决方案:在测试之前,确保数据类型与过滤器的预期相符。如果无法做到这一点,可能需要使用其他方式(如JSON解析)来转换数据。
- 筛选器在错误的数据类型下返回错误的结果:在测试时,我们需要检查过滤器在错误的数据类型下返回的结果是否符合预期。
解决方案:在测试之前,确保过滤器可以正确地处理错误的数据类型。如果无法做到这一点,可能需要使用其他方式(如错误处理)来处理错误的数据。
- 筛选器在测试时返回了预期之外的结果:在测试时,我们需要检查过滤器返回了预期之外的结果。
解决方案:在测试之前,确保过滤器返回的预期结果与预期相符。如果无法做到这一点,可能需要使用其他方式(如错误处理)来处理预期之外的结果。
- 筛选器返回了过滤器没有处理的数据:在测试时,我们需要检查过滤器返回了过滤器没有处理的数据。
解决方案:在测试之前,确保过滤器可以正确地处理没有被过滤的数据。如果无法做到这一点,可能需要使用其他方式(如错误处理)来处理没有被过滤的数据。
- 筛选器在不同设备和浏览器上返回不同的结果:在测试时,我们需要检查过滤器在不同设备和浏览器上返回的结果是否一致。
解决方案:在测试之前,确保过滤器可以在不同设备和浏览器上正确地工作。如果无法做到这一点,可能需要使用其他方式(如跨浏览器测试)来处理不同设备和浏览器的问题。
- 筛选器在不同状态(如加载、开启等)下的行为:在测试时,我们需要检查过滤器在不同状态下的行为是否一致。
解决方案:在测试之前,确保过滤器可以在不同状态(如加载、开启等)下正确地工作。如果无法做到这一点,可能需要使用其他方式(如状态管理)来处理不同状态的问题。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
