Мне нужно добавить функциональность в класс Javascript, который я хочу протестировать с помощью Jasmine. Определение класса выглядит примерно так:
GAME.Player.CustomPlayerSetup = function() {
...
};
Если я удалю GAME.Player
, я смогу написать нормальные тесты и пройти их. Но когда я пытаюсь оставить Game.Player
в определении класса для CustomPlayerSetup, я получаю сообщение об ошибке «Игра не определена». Как определить этот тест?
Чтобы ответить на предложение Чарльза, даже если я объявлю переменные GAME и Player в моем тестовом файле Jasmine до строки require, она все равно дает мне, как в
GAME = {};
GAME.Player = {};
CustomPlayerSetup = require("../CustomPlayerSetup").CustomPlayerSetup;
describe("Custom Player Setup", function() {
...
});
та же ошибка, которая указывает на файл производственного кода, а не на тестовый файл. Я использую jasmine-node для запуска тестов.