Использование DOH для модульного тестирования не JavaScript-проекта Dojo
По сути, мне нужна помощь в понимании этого сообщения в блоге:
http://www.sitepen.com/blog/2008/04/15/unit-testing-custom-code-with-the-dojo-objective-harness/
Я хочу использовать DOH для модульного тестирования существующего проекта JavaScript, и я не хочу реструктурировать этот проект, чтобы он выглядел как виджет Dojo. Мой проект структурирован так:
project/
scripts/
doh/
...
tests/
testA.js
project.js
tests/
tests.html
index.html
tests.html - это страница с единственной ссылкой на:
../scripts/doh/runner.html?testModule=scripts.tests.testA
testA.js, по-видимому, не загружается, и я не уверен, какой код должен входить в него, чтобы он правильно загружался как набор тестов, а также имел доступ к классам, определенным в project.js.
1 ответ
Ваш браузер дает какие-либо указания в своих инструментах отладчика относительно того, пытался ли он загрузить что-то с именем testA.js, и если да, то откуда?
Если у вас есть проблема с путём (он может искать "скрипты" как одноуровневый каталог для вашего каталога dojo), вы можете дать DOH подсказку в URL-адресе бегуна относительно того, как сопоставить пакеты, например: ®isterModulePath=scripts,../../scripts
(это сопоставляет 'scripts' с '../../scripts'; вам нужно настроить его так, как нужно, так как я не вижу, где находится ваш каталог Dojo)
Как правило, вы указываете 'testModule' на файл модуля, который представляет собой файл, который просто извлекает тестовые приборы, но я думаю, что вы можете избежать необходимости просто указывать на сам файл тестового устройства. Для этого нужно просто вызвать doh.register с некоторыми тестами и doh.run(), чтобы запустить все это.