ビジュアルスタジオ2015のノードjsツールを使用しています。私のローカル環境でjavascriptとjqueryのmochaテストを作成しています。カルマとクロムを使ってテストを実行しています。すべてうまくいきましたが何らかの理由でjsdomを使用してkarmaやブラウザを使わずにノードjからテストを実行したいのですが、jqueryプラグインの1つは内部的にOption(new Option)のインスタンスを実行し、jsdom私は参照エラーを取得オプションはカルマから定義されていません私はエラーが表示されない明らかなカルマは、オプションが定義され、jsdomは実際のブラウザではない実際のブラウザを使用しているようだ、作業? jsdomによるテストのデバッグjsdomによって作成されたウィンドウオブジェクトにHTMLOptionElementが添付されていることがわかりますが、インタフェースが完全に実装されていない可能性があります。jsdom - mochaテストを実行しているときにオプションが定義されていません
ReferenceError: Option is not defined
はありがとうござい
:私は取得していますエラーがある。ここは、テストファイルのコードが
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
};
のように見えます