Тестовый модуль Vue.js, тестирующий компонент, получил ошибку типа реквизита - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь проверить аудиоплеер (запуск, пауза, остановка, отключение звука, положение, загрузка событий)

export default {
  name: "audioPlayer",
  props: {
    file: {
      type: Object,
      default: null
    },
    autoPlay: {
      type: Boolean,
      default: false
    },

В моих тестовых спецификациях я установил реквизиты файла следующим образом

  const file = new File(["../../src/assets/audio/ultimo_desejo.mp3"], "ultimo_desejo", { type: "audio/mp3"});
  const ended = jest.fn();

Но когда я запускаю тест, я получаю ошибку:

console.error: node_modules / vue / dist / vue.runtime.common.js: 589 [Vue warn]: недопустимая проп: проверка типа не удалась для файла проп. Ожидаемый объект, получил файл.

found in

---> <AudioPlayer>
       <Root>

Как установить свойство файла?

спасибо за отзыв

1 Ответ

0 голосов
/ 02 сентября 2018

Измените type поле file реквизита на File:

props: {
  file: {
    type: File,
    default: null
  },
}

Затем вы можете передать новый File в file проп:

it('takes a file prop', () => {
  const file = new File(['foo'], 'foo.txt');
  const wrapper = shallowMount(MyFoo, {
    propsData: { file }
  });
  expect(wrapper.vm.file).toBeTruthy();
})

демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...