我正在使用Postgres数据库在Heroku上的Node.js上运行Geddy MVC Framework。我似乎无法找到支持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