Я работаю над тем, что включает в себя 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 | }
Я подозреваю, что у меня неправильный подход или даже среда тестирования для этого. Чего мне не хватает?