小编use*_*875的帖子

Vue utils - 检查是否正在使用 jest 调用方法

我正在做一些测试,我想检查在触发元素中的单击后是否调用了方法,但测试一直说未调用该方法,我不知道为什么

这是我的测试:

test('some test', () => {
        const somethingChanged= jest.spyOn(Component.methods, 'somethingChanged')

        const wrapper = mount(Component, {
            propsData: data

        })

        const element= wrapper.find('.c-element').trigger('click')

        expect(somethingChanged).toBeCalled()
    })
Run Code Online (Sandbox Code Playgroud)

这一直说调用次数为0,我不知道我做错了什么这个方法是在组件中触发的,所以我知道它有效

unit-testing vue.js jestjs

4
推荐指数
1
解决办法
5215
查看次数

使用过滤器和排序将元素放在数组的开头 - javascript

我有一个对象数组,我想在其中找到某些元素并将它们放在开头或数组中。我开始使用 find 函数来做它并且它起作用了,但是现在因为可以有多个元素我切换到过滤器函数但是,现在它停止工作了,我该如何解决这个问题?

输入示例:

colors= [
   {name: "green", popular: true},
   {name: "yellow", popular: false},
   {name: "red", popular: true},
   {name: "black", popular: true},
   {name: "red", popular: true}
]
Run Code Online (Sandbox Code Playgroud)

功能:

sort(colors) {
    let red= colors.filter(color=> colors.name === "red")

    if(red){
        colors.sort(function(x,y){ return x == red? -1 : y == red? 1 : 0; });
    }

    return colors
}
Run Code Online (Sandbox Code Playgroud)

预期输出:

colors= [
   {name: "red", popular: true},
   {name: "red", popular: true},
   {name: "green", popular: true},
   {name: "yellow", popular: false},
   {name: "black", popular: true}
]
Run Code Online (Sandbox Code Playgroud)

通过使用过滤器 …

javascript sorting filter

4
推荐指数
1
解决办法
55
查看次数

标签 统计

filter ×1

javascript ×1

jestjs ×1

sorting ×1

unit-testing ×1

vue.js ×1