gpt4 book ai didi

javascript - Expect 方法读取了错误的wrapper.vm.shown 值

转载 作者:行者123 更新时间:2023-12-03 03:41:16 27 4
gpt4 key购买 nike

我正在测试我的 组件并发生了一个非常奇怪的问题。

这是我的测试

import { mount } from 'avoriaz';


let wrapper = mount(MyComponent, { globals: {$route},});

it('the click changes the value of shown', () => {
// This passes
expect(wrapper.vm.shown).to.equal(false);

// the click on this element will turn shown value into true
wrapper.first('#my_link').trigger('click');

// the value of shown is indeed true now
console.log(wrapper.vm.shown); // LOG LOG: true

expect(wrapper.vm.shown).to.equal(true); // expected undefined to equal true
});

发生了什么以及为什么shown在作为参数传递给expect方法时为undefined,并且在通过console.log显示时为 bool 值

最佳答案

第二次调用 expect 时,DOM 尚未完成更新。

使用$nextTick在调用 expect 之前等待 DOM 更新:

wrapper.first('#my_link').trigger('click');

wrapper.vm.$nextTick(() => {
expect(wrapper.vm.shown).to.equal(true);
});
<小时/>

使用异步代码时,console.log 有时会延迟记录值,这意味着它们不会是您在该行执行时期望的值。 See this post.

关于javascript - Expect 方法读取了错误的wrapper.vm.shown 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45614847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com