如何对keystonejs模型进行单元测试?

end*_*dre 8 unit-testing mongoose mongodb node.js keystonejs

有没有办法为keystonejs运行测试,这些测试也会遇到测试或真正的mongodb实例?

如果类似于Django的方式,这将是很好的.

Jed*_*son 14

目前还没有任何针对KeystoneJS网站实施单元测试的官方示例,但是没有什么能阻止您使用像mocha这样的框架编写测试,就像在任何其他node.js应用程序中那样.

您需要初始化Keystone,注册模型,然后连接到数据库并执行测试而无需启动Web服务器.像这样的东西:

./tests.js

var keystone = require('keystone');

keystone.init({
    'name': 'Your Project'
});

keystone.import('models');
keystone.mongoose.connect('localhost', 'your-database');
keystone.mongoose.connection.on('open', function() {

    // Run tests here

    // Use keystone.list('Key') to access Lists and execute queries
    // as you would in your main application

});
Run Code Online (Sandbox Code Playgroud)

然后运行tests.js,或使其成为npm/grunt/etc.脚本.

关注集成测试框架的问题#216.