TypeError: n.querySelectorAll не является функцией d3 js Модульный тест с использованием Jest в Vuejs - PullRequest
1 голос
/ 10 июля 2020

На самом деле я хочу написать примеры модульных тестов для файла d3. js, используя jest в Vue js проекте

У меня есть библиотека импорта d3 в моем проекте.

Тест. js файл

mouseOver = function (d) {
        if(options.showNodeDescription) {
            d3.select("#nodeText").text(d.name);
        }
        d3.select(this).selectAll('image')
            .style("display",function(k) {
                let className = d3.select(this).attr("class");
                return (k.type == 'source' && className == 'addIcon') ? 'none' : 'block';
            });
    },

Test.spe c. js

it('should call mouseOver to be defined', ()=> { 
      global.document = {
        getElementById: jest.fn(() => {}),
        getElementsByClassName : jest.fn(() => {}),
      };
          let d = {name : 'test' }
            document.body.innerHTML= `<image class="addIcon"  xlink:href="assets/img/icons/add-icon.svg" x="75" y="65"></image>`; 
              var circle = d3.select(this).selectAll("image");
              expect(circle.empty()).toBe(true);
          expect(termConnections().mouseOver(d)).toBeDefined;
      }); 

Ошибка:

TypeError: n.querySelectorAll is not a function

     d3.select("#nodeText").text("");
                  }
                 d3.select(this).selectAll('image')
                                   ^
                           .style("display", "none");
           },

Не могли бы вы помочь мне в написании модульных тестов для этого файла.

...