В настоящее время я занимаюсь разработкой мини-игры в среде phaser.js, и поскольку масштабы проекта довольно велики, я действительно хочу работать с юнит-тестами.Однако, пытаясь настроить модульные тесты в Jasmine для Phaser, я сталкиваюсь с ошибками, связанными с зависимостями.
У меня нет опыта работы с Jasmine или какой-либо другой средой тестирования, поэтому я могу упустить из виду нечто очевидное для опытного разработчика..
Мой файл .spec выглядит следующим образом:
describe("motorMain", function() {
var Phaser = require('../phaser');
var MotorMain = require("../motorMain");
var motorMain;
var phaser;
beforeEach(function() {
phaser = new Phaser();
motorMain = new motorMain();
});
it("should increase the score if a object is clicked", function(){
var scoreBeforeClicking = motorMain.score;
var gameobject;
motorMain.clickhandler("",gameobject);
expect(scoreBeforeClicking+1).toEqual(score);
})
});
Но так как Phaser зависит от запуска в браузере, при запуске он жалуется на невозможность доступа к таким элементам, какwindow
и document
в Phaser.
Я получаю такие ошибки, как:
ReferenceError: документ не определен
Есть ли у кого-нибудь опыт?с тестированием Phaser игр?Я не могу найти информацию об этом в Интернете.Можно ли даже тестировать игры Phaser?
Что касается других платформ тестирования, я также посмотрел на nightwatch, но его поддержка Phaser устарела, и это в основном e2e вместо модульного тестирования, так что это не так.что я ищуВ Интернете я также видел, что кто-то разработал Shimming версию Phaser 2.4.7, но сейчас она устарела, так как в Phaser 3 многое изменилось.