如何对 keystonejs 模型进行单元测试?
Posted
技术标签:
【中文标题】如何对 keystonejs 模型进行单元测试?【英文标题】:How do I unit test keystonejs models? 【发布时间】:2014-04-09 11:28:26 【问题描述】:有什么方法可以为 keystonejs 运行测试,同时也命中测试或真正的 mongodb 实例?
如果类似于 Django 的做法就好了。
【问题讨论】:
现在有github.com/webteckie/keystonejs-stub,但它还不是 Keystone 的官方部分。 【参考方案1】:目前还没有任何为 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
);
然后运行 tests.js,或将其设为 npm / grunt / etc. 脚本。
关注issue #216 以获取集成测试框架。
【讨论】:
以上是关于如何对 keystonejs 模型进行单元测试?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 中对调用另一个模型的方法的模型方法进行单元测试
如何对 ASP.NET Core 控制器或模型对象进行单元测试?