如何对 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 控制器或模型对象进行单元测试?

如何对 NSCoding 进行单元测试?

使用 mongoose 全文搜索和 KeystoneJS 分页

如何让单元测试访问核心数据模型

MyBatis - 如何对结果图进行单元测试?