Tho*_*eus 3 jasmine phaser-framework
我目前正在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);
})
});
Run Code Online (Sandbox Code Playgroud)
但由于 Phaser 依赖于在浏览器中运行,当我运行它时,它抱怨无法访问Phaser 中的window和 等元素。document
我收到如下错误:
ReferenceError:文档未定义
有人有测试 Phaser 游戏的经验吗?我在网上似乎找不到任何有关它的信息。甚至可以测试移相游戏吗?
至于其他测试框架,我也研究过 nightwatch,但它的 Phaser 支持已经过时,而且它主要是 e2e 而不是单元测试,所以它不是我想要的。我还在网上看到有人开发了Phaser 2.4.7的shimming版本,但是现在已经过时了,Phaser 3已经发生了很大的变化。
小智 6
好的,我有工作了!
\n这是最低限度,但 Phaser 可以毫无错误地实例化。
\n包.json
\n{\n "scripts": {\n "test": "jasmine --config=jasmine.json"\n },\n "devDependencies": {\n "canvas": "^2.8.0",\n "jasmine": "^3.7.0",\n "jsdom": "^16.6.0",\n "jsdom-global": "^3.0.2"\n },\n "dependencies": {\n "phaser": "^3.55.2"\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n茉莉花.json
\n{\n "spec_dir": "spec",\n "spec_files": [\n "**/*[sS]pec.js"\n ]\n}\nRun Code Online (Sandbox Code Playgroud)\n规格/Phaser.Spec.js
\nrequire(\'canvas\');\nrequire(\'jsdom-global\')();\nconst Phaser = require("phaser");\n\ndescribe("A suite", function () {\n\n it("Instantiate a Phaser.Game", function () {\n let game = new Phaser.Game({ type: Phaser.HEADLESS });\n\n expect(game).not.toBe(null);\n })\n\n})\nRun Code Online (Sandbox Code Playgroud)\n控制台的输出是:
\n$ jasmine --config=jasmine.json\nRandomized with seed 06585\nStarted\n Phaser v3.55.2-FB (Headless | HTML5 Audio) https://phaser.io\n.\n\n\n1 spec, 0 failures\nFinished in 0.016 seconds\nRandomized with seed 06585 (jasmine --random=true --seed=06585)\n\xe2\x9c\xa8 Done in 1.28s.\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
807 次 |
| 最近记录: |