Я использую инструменты node js для Visual Studio 2015, и я пишу тесты мокко для моего javascript и jquery, в моей локальной среде я использую карму и хром для запуска тестов, и все работает нормально, но по какой-то причине я хотел использовать jsdom чтобы иметь возможность запускать тесты из узла js без использования кармы или браузера, но один из подключаемых модулей jquery внутри выполняет экземпляр Option (новый вариант) и с помощью jsdom я получаю справочную ошибку Опция не определена из кармы, которую я не знаю не получаю никаких ошибок, ошибка кажется очевидной, карма использует настоящий браузер, в котором определена опция, а jsdom не является настоящим браузером, есть ли способ заставить мой тест работать? при отладке теста с помощью jsdom я вижу, что HTMLOptionElement прикреплен к объекту окна, созданному jsdom, но, возможно, интерфейс не полностью реализован, и поэтому новый вариант не работает.
Вот код тестового файла
if (global.window) {
window.jQuery = window.$ = require('jquery');
} else {
require('jsdom-global')();
global.jQuery = global.$ = require("jquery");
}
var chai = require('chai');
var assert = chai.assert;
var expect = chai.expect;
var should = chai.should();
chai.use(require('chai-jquery'));
chai.use(require('chai-spies'));
var sourceFile = require('path_to_js_file');
describe('Test', () => {
it('this is not passing', () => {
var x = new Option;
expect(1).to.equal(1);
});
it('this is passing', () => {
document.body.innerHTML = '<input id="name"/>';
sourceFile.init();
expect($("#name").is(":focus")).to.equal(true);
});
});
и мой исходный файл выглядит так
function init () {
$('#name').focus();
}
module.exports = {
init
};
ошибка, которую я получаю:
ReferenceError: Option is not defined
Спасибо