我需要为我想要使用Jasmine测试的Javascript类添加功能。类定义如下:
GAME.Player.CustomPlayerSetup = function() {
...
};
如果我删除GAME.Player
,我可以编写正常的测试并让它们通过。但是当试图将Game.Player
留在CustomPlayerSetup的类定义中时,我得到的参考错误游戏没有定义。如何定义这个测试?
要回答Charles的建议,即使我在我的Jasmine测试文件中声明了GAME和播放器变量,它仍然给了我,如
GAME = {};
GAME.Player = {};
CustomPlayerSetup = require("../CustomPlayerSetup").CustomPlayerSetup;
describe("Custom Player Setup", function() {
...
});
指向生产代码文件的相同错误,而不是测试文件。我正在使用jasmine-node来运行测试。
答案 0 :(得分:0)
在我看来,你需要在运行之前实例化对象GAME.Player
/在jasmine测试中包含js文件。类似的东西:
<script type="text/javascript">
var GAME = {Player:{}};
</script>
</script src="your_src.js"/>
答案 1 :(得分:0)
最有可能在你的规范运行中,你有任何文件在运行规范的文件下面实例化游戏和/或播放器(或者根本没有包含它)。
如果不是这样的话,请尝试发布您的spec-runner以及其中一个失败的测试。