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

时间:2015-04-28 16:13:27

标签: javascript mocha meanjs

我一直在研究mean.js测试。这是一个繁琐的测试任务,只需一个简单grunt test即可运行所有应用,但我不想每次都运行所有测试。

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

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

把我扔回去了

  

" MissingSchemaError:尚未为模型注册架构   MyModelName"

为服务器运行单个测试最简单的方法是什么?

谢谢!

d

2 个答案:

答案 0 :(得分:1)

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

我已经四处寻找好的解决方案,并且应该有一个' - grep'开关用于Mocha,但是通过grunt传递它超出了我目前的技能组合 - 建议欢迎!

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

答案 1 :(得分:1)

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

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

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

希望这有帮助!