2016-05-20 8 views
3

У меня есть некоторые настройки на тесты с D3JS проблемы, вот код, который я хотел бы тест: D3JS Тестирование - введите() не уволили

function drawCityWindow(city,scale){ 
    var d3cityWindow = d3.select(".svg").selectAll(".d3city-window").data(city); 

    d3cityWindow.enter() 
    .append("div") 
    .attr("id", function (d) { 
     return d.id+"-window" 
    }) 

}

А вот мой тестовый модуль, где я хочу, чтобы проверить наличие в DOM из:

it("should test the drawCityWindow method",function() { 
     var city = description["cities"][0]; 
     drawCityWindow(city,1); 
     expect($('#'+city.id+'-window')[0]).toBeInDOM() 
    }) 

Я использую известный жасмин-JQuery LIB для извлечения объектов DOM, и я понял, что, когда я побежал испытание, ввод() не было уволен.

У вас есть некоторые сведения об этой проблеме?

+1

d3 сторона выглядит хорошо для меня, может быть, вы можете console.log, чтобы узнать, вызвана ли функция, другая возможность заключается в том, что массив городов пуст. – Cyril

+0

К сожалению, функция вызывается и определяется городом, я только что проверил ваш комментарий. Спасибо за быстрый ответ. –

+2

Глупый вопрос: есть ли «.svg» класс какого элемента? –

ответ

0

Ну, проблема была немного сложной: я передал набор данных city в d3js вместо того, чтобы помещать его в массив, такой как [city].

То есть, я думаю, что d3js повторяется по клавишам объекта city, а не по самому объекту.

Большое спасибо за помощь!

 Смежные вопросы

  • Нет связанных вопросов^_^