Тестирование Vue компонентов, использующих cytoscape. js? - PullRequest
1 голос
/ 04 февраля 2020

Я работаю над тем, что включает в себя cytoscape. js и Vue. js. В настоящее время я использую jest. js для модульного тестирования компонентов Vue. У многих моих компонентов их функциональность связана с графиком cytoscape, который смонтирован на контейнере.

Вот так выглядят мои тестовые файлы:

import graph from "@/graph.vue"

import {
    mount,
    createLocalVue,
} from "@vue/test-utils"

const localVue = createLocalVue();

describe('graph.vue', () => {

    it('should center the graph', () =>{
        const wrapper = mount(graph, {
            localVue,
        })
        const button = wrapper.find('btn')
        expect(wrapper.vm.Cytoscape())).toHaveBeenCalled(0)
        button.trigger('click')
        expect(wrapper.vm.Cytoscape()).toHaveBeenCalled(1)
    })
}) 

Если он использует какой-либо cytoscape, выдает следующую ошибку:

Cannot read property 'className' of null

      11 | // run(): Startup-Function
      12 | export function run() {
    > 13 |   cy = cytoscape({
         |        ^
      14 | 
      15 |     container: document.getElementById('cy'), // container to render in
      16 |     //builds graph 
      17 | }

Я подозреваю, что у меня неправильный подход или даже среда тестирования для этого. Чего мне не хватает?

...