Выполнение тестов DOH через узел - "документ не определен"
Я пытаюсь заставить мои тесты DOH работать через командную строку для легкого тестирования. Однако я сталкиваюсь с некоторыми проблемами и нуждаюсь в некотором руководстве!
В настоящее время я использую следующий тестовый модуль:
define([
"doh/runner",
"dojo/query"
], function (
doh,
query
) {
doh.register("Homepage Tests", [{
name: "Sanity Check",
runTest: function () {
return doh.assertNotEqual("Cat", "Dog");
}
}]);
});
Работает в браузере нормально. Тем не менее, когда я запускаю следующую команду:
node path/to/dojo.js load=doh path/to/test/module.js
Я получаю следующую ошибку (несколько сокращенно):
/public/bower_components/dojo/selector/_loader.js:5
var testDiv = document.createElement("div");
^
ReferenceError: document is not defined
at /public/bower_components/dojo/selector/_loader.js:5:15
Это потому, что тест не запускается в браузере phantomJS, поэтому у него нет доступа к переменным браузера? Есть ли способ сделать так, чтобы тесты dojo doh, которые работают в браузере, работали здесь легко?
Для ясности я использую плагин grunt-doh ( https://github.com/gpbl/grunt-doh), который запускает указанную выше команду.
1 ответ
Это не будет работать, именно из-за этого:
Это потому, что тест не запускается в браузере phantomJS, поэтому у него нет доступа к переменным браузера? Есть ли способ сделать так, чтобы тесты dojo doh, которые работают в браузере, работали здесь легко?
я не знаю много о DOH, и что возможно с ним, но вам нужно
а) издеваться document
или же
б) написать свою собственную задачу grunt, которая порождает connect-сервер с https://github.com/gruntjs/grunt-contrib-connect и запускает ваши тесты в этом браузере
РЕДАКТИРОВАТЬ: для насмешки в DOH см. Эту ссылку (поиск Mocking methods
)