我刚刚开始使用 jsTestDriver,我真的很喜欢它,但突然间,我开始遇到一个非常奇怪的错误,我不确定我到底做了什么来创建它。实际上,如果我尝试运行基本的 Greeter 测试,也会发生同样的问题。
这是我正在测试的 javascript 文件/类之一的示例:
myapp = myapp || {};
myapp.Module = function() {
...
};
所有类(class)都遵循这种模式。
我的测试类通常如下所示(我将给出一个非常简单的测试类):
ModuleTest = TestCase("ModuleTest");
ModuleTest.prototype.testInit = function() {
var module = new myapp.Module(); // <---- it bombs here, on every test!
assertFalse(module.isStarted);
module.init();
assertTrue(module.isStarted);
};
当它到达“new myapp.Module()”时它就会爆炸。以下是我所有测试中出现大约 30 次的错误消息:
myapp is not defined
/src/test/webapp/js/ModuleTest.js:4
这是我的配置文件:
server: http://localhost:9876
load:
- src/main/webapp/js/jquery/*.js
- src/main/webapp/js/*.js
- src/test/webapp/js/*.js
有谁知道到底出了什么问题吗?有时,当我在 IDEA 中运行所有测试时,我的 IDE 完全挂起,或者 jsTestDriver 需要很多分钟才能最终报告上述结果...
:(
最佳答案
升级到 v.1.3.1 后,我遇到了同样的问题。就我而言,问题出在文件编码上。我使用 Visual Studio 进行开发,它添加了 byte order mark (3 个额外字节)位于文件开头。可以在 Far 管理器中看到这些字节。如果您使用 VS,请尝试按以下方式保存文件:“文件->高级保存选项->”编码:Unicode(UTF-8 无签名)- 代码页 65001。 它应该可以解决您的问题。
关于javascript - "namespace is undefined"使用jsTestDriver、Idea 9并测试3个测试用例时出现问题。有时它会直接挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4436446/