протестировал tinymce в vue-test-utils, но получил ошибку "Не удается прочитать свойство 'init' из неопределенного" - PullRequest
0 голосов
/ 11 декабря 2018

Я новичок в vue-test-utils и хочу написать test.spec.js для моего Tinymce/index компонента, но когда я запускаю npm test, я получил эту ошибку:

● Tinymce ›обнаружил исключение объявления

TypeError: Cannot read property 'init' of undefined

  122 |     initTinymce() {
  123 |       const _this = this
> 124 |       window.tinymce.init({
      | ^
  125 |         selector: `#${this.tinymceId}`,
  126 |         height: 430,
  127 |         min_height: 430,

А вот и мой test.spec.js

import Tinymce from '@/components/Tinymce/index'
import { mount, createLocalVue, shallowMount  } from '@vue/test-utils'
import Element from 'element-ui'

const localVue = createLocalVue()
localVue.use(Element)

describe('Tinymce', () => {
  const wrapper = shallowMount(Tinymce, {
    localVue,
    attachToDocument: true
  })

  it('emit functions run correct by order', () => {
    expect(wrapper.emittedByOrder().map(e => e.name)).toEqual(['input', 'backImgAdd'])
  })
})

Я что-то пропустил config?

1 Ответ

0 голосов
/ 15 декабря 2018

Правильно ли работает компонент Tinymce вне теста?
Как прикрепить объект tinymce к объекту window?
Так что, возможно, вы сможете выполнить отладку, когда определено window.tinymceи метод init() доступен.
Если бы вы могли дать нам больше информации о том, как выглядит компонент Tinymce,
было бы полезно проверить, если что-то не так с жизненным циклом и т. д.

...