【发布时间】:2018-08-06 04:23:11
【问题描述】:
我想使用 Jest 和 vue/test-utils 测试文件上传器组件。
我有这个:
describe('show progress bar of uploading file', () => {
const wrapper = mount(FileUploaderComponent)
// create csv file
let csv = new Blob([''], { type: 'text/csv;charset=utf-8;' })
csv.name = 'myFile.csv'
let input = wrapper.find('input')
input.element.value = csv // || csv.error value, Error here
input.trigger('change')
// Update current status
})
我在 FileUploaderComponent 的哪个位置:
<template>
<form action="POST" enctype="multipart/form-data">
<label class="btn btn-primary" for="input-file">
<input class="input-file" id="input-file" name="file" type="file" accept=".xlsx, .xls, .csv">
UPLOAD FILE
</label>
</form>
</template>
抛出此错误:
InvalidStateError: 这个输入元素接受一个文件名,它可能 只能以编程方式设置为空字符串。
49 |
50 | let input = wrapper.find('input')
> 51 | input.element.value = csv
52 | input.trigger('change')
53 |
54 | // Update current status
所以,问题是:如何使用文件输入值触发事件更改?在这种情况下,一个 csv 文件作为值?
【问题讨论】:
标签: unit-testing vuejs2 jestjs