car*_*iem 4 mocha.js node.js sails.js
我正在将一个应用程序从 Sails.js v0.12 迁移到 v1.0,其中包括将 mocha 从 ^3.5.0 升级到 ^5.2.0。我认为这是问题的根源,但我似乎找不到解决办法。
\n\n以前,当测试失败时,mocha 报告器输出的末尾会有错误摘要:失败的具体断言、文件名、行号、错误消息等。现在,报告器正在为 it块着色红色,但没有显示其他详细信息。
\n\n我尝试更改 mocha.opts 中的报告器,该报告器适用于实际执行输出,但最后没有任何内容启用摘要。我缺少什么?
\n\n// ./test/integration/models/User.test.js\n\ndescribe('User', () => {\n\n describe('find()', () => {\n it('should return an array of users', () => {\n return User.find()\n .then((users) => {\n\n users.should.be.a('array');\n true.should.be.false; // No problems if this is removed\n\n });\n });\n });\n\n});\nRun Code Online (Sandbox Code Playgroud)\n\n在控制台中:
\n\n> node ./node_modules/mocha/bin/mocha test/lifecycle.test.js test/integration/**/*.test.js\n\n\n\xe2\x88\x9a OtherModel method() should do something: 17ms\n1) User find() should return an array of users\n'Done.'\nPS C:\\repos\\myproject>\nRun Code Online (Sandbox Code Playgroud)\n
事实证明,Mocha 很好,我的测试定义也很好,我只是错误地修复了一个完全不同的迁移问题。从版本 4 开始, mocha在认为所有测试都已完成时将不再自动杀死自己。这意味着必须使用以下两个选项之一:
--exit到 mocha.opts 或调用命令的任何地方process.exit()在测试套件的 JavaScript 中运行process.exit()我通过添加到after()测试引导文件中的块 来尝试第二个选项。这是一个坏主意,并导致了上面令人困惑的行为。
为了解决我的问题,我删除了对该after()块的更改并将其添加--exit到 mocha.opts 中。感谢 Dhruv Choudhary 为我指明了正确的方向。
| 归档时间: |
|
| 查看次数: |
5220 次 |
| 最近记录: |