gpt4 book ai didi

javascript - 无法使用vue和moment将参数传递给 Jasmine 中的按钮方法

转载 作者:行者123 更新时间:2023-12-04 00:52:41 25 4
gpt4 key购买 nike

我有一个 Vue 应用程序,我正在尝试使用 jasmine/karma 进行单元测试。下面是组件中的代码:

使用数据库中的 v-for=(data,index) 后,我在模板中设置 data.date:

<p class="date">
{{ dateFilter(data.date) }}
</p>

现在我可以测试给定数据的格式是否正确。我目前在规范文件中有这样的内容:

import { mount } from '@vue/test-utils';
import moment from 'moment'

it('should call method', () => {
const selector = wrapper.find('date');

});

如何调用该方法并传递一个模拟参数来测试该方法?也可以导入moment js吗?

最佳答案

测试日期是否以正确的格式呈现:

const wrapper = mount(MyComponent, {
propsData: {
// assuming component has `items` prop, used in:
// <p class="date" v-for="data in items"> {{ dateFilter(data.date) }} </p>
items: [
{
id: 100,
date: new Date('2020-12-10T12:30:45-08:00') // 12:30pm GMT-8 === 4:30pm UTC
}
]
}
})

const dateEl = wrapper.find('.date') // find first dateElement with `date` class
expect(dateEl.text()).toEqual('16:30 pm')

要直接测试组件方法,请通过包装器的vm property 访问该方法:

expect(wrapper.vm.dataFilter(new Date('2020-12-10T12:30:45-08:00'))).toEqual('16:30 pm')

关于javascript - 无法使用vue和moment将参数传递给 Jasmine 中的按钮方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65316978/

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