Ответ на этот вопрос не отвечает на мой вопрос.
Я хотел бы загружать зависимости из-за пределов моего корня проекта, используя Intern в качестве моей тестовой среды. В настоящее время я работаю со следующей структурой каталогов:
www/
project1/
app/
lib/
project2/
app/
lib/
intern-tests/
node_modules/
tests/
functional/
project1-tests/
project2-tests/
unit/
project1-tests/
project2-tests/
intern.js
Gruntfile.js
Как вы можете видеть, я делаю intern-tests
свой собственный проект и хочу, чтобы в этом каталоге были все мои тесты для всех моих проектов. Я уже настроил свой Gruntfile для выполнения тестов с помощью библиотеки grunt exec, преобразующей команду grunt projectName
в grunt test --project=projectName
. Все это отлично работает, но мои модульные тесты не могут загружать зависимости в каталогах project1/
и project2/
.
Например, это один из моих модульных тестов:
define([
'intern!object',
'intern/chai!assert',
'jquery',
'../../../../project2/lib/js/var/document',
'../../../../project2/lib/js/exports/file/functions/resizeInput'
], function(registerSuite, assert, $, document, resizeInput) {
registerSuite({
name: 'functions',
resizeInput: function() {
var $input = $(document.createElement('input'));
resizeInput($input, 8, 20, 450, 200);
assert.equal($input.width(), 450);
}
});
});
и запуск этого теста дает мне следующую ошибку:
SUITE ERROR
Error: Failed to load module ../project2/lib/js/var/document from
project2/lib/js/var/document.js (parent: tests/unit/project2/functions)
at HTMLScriptElement.handler <__intern\node_modules\dojo\loader.js:517:27>
Как включить эти внешние файлы из других моих проектов?