首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chai.should()让Mocha爆炸

Chai.should()让Mocha爆炸
EN

Stack Overflow用户
提问于 2016-02-02 21:24:31
回答 5查看 2.4K关注 0票数 1

我尝试使用Chai Should风格的断言,但下面的语句使Mocha爆炸。下面是我完整的请求代码块:

代码语言:javascript
复制
/**                                         
 * Module dependencies.                     
 */                                         
var mongoose = require('mongoose'),         
  User = mongoose.model('User'),            
  moment = require('moment'),               
  SSEvent = mongoose.model('Event'),        
  chai = require('chai');                   

chai.use(require('chai-datetime'));         
var should = chai.should();                   

错误消息:

代码语言:javascript
复制
Running "mochaTest:src" (mochaTest) task
>> Mocha exploded!
>> TypeError: chai.should is not a function
>>     at Object.<anonymous> (/Users/sebastianweikart/Desktop/dev/conftool-nga-mean/modules/events/tests/server/events.server.model.tests.js:13:19)
>>     at Module._compile (module.js:413:34)
>>     at Object.Module._extensions..js (module.js:422:10)
>>     at Module.load (module.js:357:32)
>>     at Function.Module._load (module.js:314:12)
>>     at Module.require (module.js:367:17)
>>     at require (internal/module.js:16:19)
>>     at /Users/sebastianweikart/Desktop/dev/conftool-nga-mean/node_modules/mocha/lib/mocha.js:219:27

可能的问题是什么?我使用的是"chai": "^3.5.0""mocha": "~2.4.5",它们应该是最新的稳定版本。

更新:

我现在添加了以下简单的精简测试--它仍然会爆炸:

代码语言:javascript
复制
'use strict';

/**
 * Module dependencies.
 */
var chai = require('chai');
var should = chai.should();



/**
 * Unit tests
 */
describe('Chai Should Test', function () {

  describe('Chai Should() should work', function () {
    it('Chai Should() must work', function (done) {
      var spartacus = 'spartacus';
      should.exist(spartacus);
      done();
    });

  });
});



Running "mochaTest:src" (mochaTest) task
>> Mocha exploded!
>> TypeError: chai.should is not a function
>>     at Object.<anonymous> (/Users/sebastianweikart/Desktop/dev/conftool-nga-mean/modules/events/tests/server/chai.should.test.js:7:19)
EN

回答 5

Stack Overflow用户

发布于 2016-04-22 13:56:39

确保在项目中卸载了should.js。当should.js和chai.should一起使用时,会发生冲突

票数 5
EN

Stack Overflow用户

发布于 2016-02-11 23:20:28

确保您不同时需要-> https://www.npmjs.com/package/shouldshould包。

票数 4
EN

Stack Overflow用户

发布于 2016-02-02 21:36:23

如果您正确地导入了chai,那么似乎没有什么问题。

chai docs状态:

应该是需要的,函数是...被执行。

因此,如果您有一个有效的chai对象,它将附加一个shoudld()函数。您可以通过testing it live on tonic dev验证这一点。

您还应该尝试删除chai.use(require('chai-datetime'));语句-这可能会覆盖chai原始属性并删除should()函数。

如果你仍然有问题,这很可能是由其他原因引起的-在这种情况下,我们需要更多地了解/了解你的项目。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35154753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档