如何使用 mocha/mean.js 运行 测试单个模型?

How do I run tests for a single model using mocha/mean.js?

我一直在研究 mean.js 测试。有一个 g运行t 测试任务 运行 所有应用程序都用一个简单的 grunt test,但我不想每次都 运行 所有测试。

我已经在全球范围内安装了 mocha,并且想运行 测试使用它的单个模型,但是正在做...

mocha 'app/tests/mymodelname.server.model.js'

把我扔回去

"MissingSchemaError: Schema hasn't been registered for model MyModelName"

运行 对服务器进行单一测试的最简单方法是什么?

谢谢!

D

之前的回复是完全正确的,grunt 中定义了一个 mongoose 加载器并传递给 'grunt test' 任务。看看gruntfile.js:grunt.registerTask('test', ['env:test', 'mongoose', 'mochaTest', 'karma:unit']);

我已经四处寻找解决这个问题的好方法,应该有一个“--grep”开关可以与 Mocha 一起使用,但是通过 grunt 传递它超出了我目前的技能范围 - 欢迎提出建议!

我确信有一个非常好的方法可以做到这一点,但现在我只是在只想使用一个测试时限制了测试文件配置列表。我修改了 'config\assets\test.js' 以仅指向一个文件。它不是很漂亮,我可能会因为建议它而被烧毁,但它现在对我有用。

正如 robertklep 所提到的,最好的方法是在 mocha 中使用 --require 选项来要求 server.js 文件(其中包括数据库模块和其他内容所需的所有初始化)。

所以在这种情况下,如果您是 运行 一个 mean.js 应用程序,正确的做法是:

mocha 'app/tests/mymodelname.server.model.js' -r server.js

希望对您有所帮助!