модульное тестирование js-файла с помощью DOM при сохранении работы html

#javascript #jestjs #referenceerror

Вопрос:

Извиняюсь — я просто не могу понять, как кратко сформулировать проблему.

Я имею в виду свой код здесь: https://github.com/nthali/GameOfLife

Есть один gameOfLifeModel.js , который полностью является агностиком переднего плана и тщательно протестирован на все правила игры в жизнь.

Существует GameOfLife.html (и сопутствующий css), который создает сетку для имитации игры в жизнь.

Затем есть a gameOfLifeController.js , который переводится между пользовательским интерфейсом (html/css) и моделью.

Два вопроса:

  1. Единственный способ для меня сделать эту работу-это перечислить оба файла js в <script> тегах в html. в идеале я бы предпочел указать только контроллер в html и require классы моделей в controller.js. Попытка сделать это вызывает 'Uncaught ReferenceError: Cannot access 'gameOfLife' before initialization'
  2. С другой стороны, если я попытаюсь написать шутливый модульный тест для controller.js при текущей настройке у меня есть require классы gameOfLifeModel в контроллере, но если я затем попытаюсь запустить html, в нем будет написано, Uncaught SyntaxError: Identifier 'GameOfLifeModel' has already been declared

Есть какие-нибудь мысли?