Dojo Тестирование Фреймворков: Dojo Objective Harness vs Intern
Недавно я принял Dojo Toolkit в качестве моей первой библиотеки JavaScript, и я нахожусь на пороге технического долга, где мне нужно начать тестирование. Сначала я посмотрел на среду модульных тестов Dojo Object Harness (DOH) и узнал больше всего, изучив примеры практических тестов в источнике инструментария dojo:
common/dojo/util/doh/tests
common/dojo/dijit/tests
однако даже с этими примерами я не могу обойти ошибку, которая, по моему мнению, является ошибкой в исходном коде DOH. это моя ошибка:
1 tests to run in 1 groups
------------------------------------------------------------
GROUP "tests.testSomeDialog" has 1 test to run
Error: test timeout in ../../../../net/js/tests/test_SomeDialog.html
ERROR IN:
function (){
// FIXME: implement calling into the url's groups here!!
return this.d;
}
FAILED test: ../../../../net/js/tests/test_SomeDialog.html 15003 ms
WOOHOO!!
------------------------------------------------------------
| TEST SUMMARY:
------------------------------------------------------------
1 tests in 1 groups
1 errors
0 failures
Мне не удалось устранить эту ошибку 'test timeout', потому что руководства [хотя бы частично] устарели, а сообщество кажется небольшим. ВОПРОС 1: Кто-нибудь сталкивался с этой ошибкой "тайм-аут теста"?
Я также видел, что SitePen недавно перешел на новую платформу тестирования, которая объясняет многие мои проблемы: http://www.sitepen.com/blog/2013/05/01/intern-javascript-testing/
2 ответа
Чтобы ответить на вторую часть вашего вопроса, мы используем его в веб-приложениях производственного качества, и несколько крупных предприятий уже используют его и для тестирования своих приложений. Да, это новый, но он построен на основе устоявшихся технологий.
Я потратил много времени на поиски решения этой проблемы. Позвольте мне поделиться тем, что я нашел, хотя этот вопрос несколько устарел. Я не смог найти ответ где-либо еще.
Видимо, это был незначительный упущение. В моем случае у меня было что-то вроде этого:
registerTests : function(){
doh.register("dohTest", [
function firstTest() {
doh.assertEqual("test", "test");
}
]);
doh.run();
}
Тогда нигде в коде registerTests() не вызывался. Таким образом, если вы получаете эту ошибку, скорее всего, функция, в которой вы выполняете тест, не вызывается.