@sanex3339

Как правильно экспортировать модуль с несколькими классами ES6 для тестирования?

Суть:

Есть код типа

(() => {
   class A {
   }

   class B extends A {
   }

   class C extends A {
   }

   class D {
       static foo () {
       }
   }

   let var;

   if (D.foo()) {
       var = new B;    
   } else {
       var = new C;
   }
})();


Все это дело в одном файле подрубается на HTML страницу, других файлов нет.
Как мне правильно экспортировать классы что бы в тестовом спеке импортировать каждый класс для тестирования, разумеется не поломав при этом сам код, который я тестирую, и оставив все классы в пределах их области видимости?
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
@sanex3339 Автор вопроса
Решил делать так: в сурсах вместо замыкания (хотя я уже переделал замыкание на ES6 блок {...}) стоят //start и //end и у всех классов стоит export.
При сборке, для продакшена //start и //end меняются на { и } соответственно gulp-replace'ом, и им же убираются export перед классами. Для таска с тестами этот файл копируется в директорию src с тестами и тесты через karma, jasmine и phantomjs обращаются к нему уже туда, все классы экспортируются нормально, тесты прогоняются.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AMar4enko
@AMar4enko
А можно просто browserify использовать
Ответ написан
Ваш ответ на вопрос

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

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