ОБНОВЛЕНИЕ: Разработано решение, с которым мне удобно, ответ ниже.Испытание модуля Угловой код начальной загрузки
У меня есть приложение, которое использует ручную самонастройку с куском кода, который по существу выглядит следующим образом:
(function() {
'use strict';
angular.element(document).ready(function() {
function fetchLabels(sLang, labelPath) {
// retrieves json files, builds an object and injects a constant into an angular module
}
function rMerge(oDestination, oSource) {
// recursive deep merge function
}
function bootstrapApplication() {
angular.element(document).ready(function() {
angular.bootstrap(document, [ 'dms.webui' ]);
});
}
fetchLabels('en_AU').then(bootstrapApplication);
}
Он отлично работает - по существу извлекает два JSon файлов, объединяют их и вводит результат в виде константа, затем загружает приложение.
Мой вопрос заключается в том, как выполнить тестирование этих функций? Я хочу написать что-то, чтобы протестировать методы fetchLabels() и rMerge(), но я не уверен, как это сделать. Моя первая мысль заключалась в том, чтобы разделить методы на службу и использовать ее таким образом, но я не был уверен, могу ли я фактически вызвать свою собственную службу таким образом, прежде чем я даже загрузил приложение?
В противном случае, может ли кто-нибудь предложить способ отделить эти методы от чего-то автономного, что я могу проверить с большей готовностью?
Эти функции делают что-то настолько сложное, что вам нужно проверить их реализации? Почему бы просто не проверить результат *, утверждая, что ваша постоянная инъекция имеет правильные значения? – user2943490
Вы правы, я могу просто проверить результат ради обеспечения полной концепции, но я хотел бы приложить тесты к методам, чтобы мы могли поймать любые регрессии, если будущий разработчик внесет изменения в сами методы. –