1

我有一个 Vue 功能组件,使用 Jest 进行了一些测试,但这个文件的覆盖率说 0。这是在 Vue 中测试功能组件的正确方法吗?

这是我的组件的一个例子

<template functional>
      <div :class="['name', ...props.extraClasses]">
          {{ props.itemName }}
      </div>
</template>

<script>
export default {
    props: {
        itemName: {
            type: String,
            required: true,
        },
        extraClasses: {
            type: Array,
        },
    },
};
</script>

这就是我的 1 个测试的样子

test('it works correctly with all props', () => {

    const wrapper = shallow(cmp, {
        context: {
          props: {
            itemName: 'item name',
            extraClasses: ['extra1', 'extra2'],
          }
        },
      })
    const name = wrapper.find('.name');
    expect(name.classes()).toEqual(['name', 'extra1', 'extra2']);
    expect(name.text()).toBe('item name');
});

运行 jest 后,我​​看到覆盖率为 0,而未覆盖的线是道具。还有其他方法可以测试功能组件吗?

以及如何让这个测试文件的笑话覆盖率正常工作?

谢谢

4

1 回答 1

1

据报道,这已在版本 4 中修复 https://github.com/vuejs/vue-jest/issues/88 我尝试升级到 vue-jest@4.0.0-beta.2 并确认此问题已修复

于 2019-05-14T18:47:37.320 回答