@cubooks
Web-developer

Как правильно тестировать модульные Javascript-приложения?

Добрый день. Возник вопрос о тестирование своего кода. Для теста я использую связку: grunt-karma + mocha + expect.

В gruntfile вот так описываю запуск karma:

karma: {
            unit: {
                options: {
                    //basePath: path,
                    frameworks: ['mocha' , 'expect' , 'jquery-1.8.3'] ,
                    browsers: ['Chrome'],
                    files: [
                        'js/components/*.js' ,
                        'js/test/*.js' ,
                    ]
                }
            }
        }


Пример файла из components:

(function(global) {
   var _opt = true;

  function _privateMethod() {
       var _opt = false;
  }

   function Promos() { 
        return {
            'api' : function() { }
        }
   }

   global.Promos = Promos;
})(this);


Сначала подгружаются файлы components, потом тесты.

Возникает вопрос: Promos доступен для тестов, точнее Api, а как тестировать его приватную часть? Не могу разобраться, может что посоветуете, или ваши предложения?

Может обойтись одним файлом, без папки test?
Если да, то как быть в describe, it и проч. функциями тестирования на продакшене?
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 2
Jeiwan
@Jeiwan
Приватные методы обычно не тестируются, так как в этом нету смысла. Если в них есть какая-то ошибка, то это отразится и на публичных методах. А публичные методы тестируются всегда, так как именно через них и происходит взаимодействие между разными компонентами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы