JS / Sinon - beforeEach(函数(完成)未调用

时间:2018-06-12 17:53:04

标签: javascript node.js jasmine mocha sinon

刚开始使用Sinon,Mocha和Chai JS。将UnderscoreJS版本从1.4.4升级到1.9.1后,我不得不更新我的项目使用模板功能的方式。

以前,_.template函数以这种方式使用 -

var myTemplate = _.template("<p><%= name %></p>", {name: 'Joe Doe'});

新方式,

// `myTemplate` here is a function!
var myTemplate = _.template("<p><%= name %></p>");

// Now let's pass in the data for the template.
myTemplate({name: 'Joe Doe'}); // it returns: "<p>Joe Doe</p>"

但是,此更改导致许多现有测试用例失败。下面提到的是我需要帮助的测试用例之一 -

    const sinonVar = require('sinon');

    describe('testVar', function() {

    var sanboxVar;
    var ss = requirejs('Path to JS library');
    var testVar;

    beforeEach(function(done) {
        console.log("Not Called");  // Never printed on console
        done();
        sanboxVar = sinonVar.sanbox.create();
    });

    it('some text here', function() {
        console.log("sanboxVar: " + sanboxVar); //Printed on console as 'undefined'
        ss.id = sanboxVar.stub();
    });
});

On&#34; npm test&#34;,我看到了错误 -

testVar
   some text here:
 TypeError: Cannot read property 'stub' of undefined
  at Context.<anonymous> (testPage.js) - "This is pointing to sanboxVar not defined"

我认为由于某种原因,beforeEach方法没有被调用,因此Sandoval变量没有被启动。

任何帮助将不胜感激。

0 个答案:

没有答案