我现在使用 Postgres 数据库在 Heroku 上的 Node.js 上运行 Geddy MVC 框架。我似乎找不到任何支持 Geddy 的 node.js 单元测试框架。我已经尝试过 nodeunit、jasmine 和其他几个,但似乎没有一个可以与 geddy 一起使用(说它是未定义的——我认为是因为它不知道如何导入所有必需的文件)。
我知道 Geddy 提供了他们的 jake 测试工具,但它似乎也不起作用。它给了我这个输出:
ReferenceError: geddy is not defined
任何帮助将不胜感激。还在寻找可以与我开始工作的单元测试框架一起使用的代码覆盖率工具。
谢谢!
编辑:我的测试都以此标头开始,以导入所需的模块:
var assert = require('assert')
, tests
, Activity = geddy.model.Activity;
Activity 的导入失败并出现上面的 ReferenceError,因此它甚至从未尝试过我的测试。
这是我写的一个nodeunit测试
var tests
, User = geddy.model.User;
exports['addUser1'] = function (test) {
var user = User.create({username: 'Greg',
password: 'MyPassword!',
confirmPassword: 'MyPassword!',
familyName: 'LastName1',
givenName: 'FirstName1',
email: 'Greg@greg.com'});
User.add(user, function (answerDict) {
test.equal(answerDict, {'errCode': 1});
test.done();
});
};
和输出
...../test/test-user.js:2
, User = geddy.model.User;
^
ReferenceError: geddy is not defined
.....
编辑:以为我会在此处发布解决方案的直接链接。在 github 问题跟踪器上获得一些帮助后,我能够进行测试和代码覆盖工作。我在这里也有一个小文章并链接到示例代码:https ://github.com/mde/geddy/wiki/Unit-Testing-&-Code-Coverage-With-Geddy