Просто начинаю с Синона, Мокко и Чая Дж.С.После обновления версии UnderscoreJS с 1.4.4 до 1.9.1 мне пришлось обновить, как в моем проекте использовалась функция шаблона.
Ранее функция _.template использовалась таким образом -
var myTemplate = _.template("<p><%= name %></p>", {name: 'Joe Doe'});
New Way,
// `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();
});
});
В «npm test» я вижу ошибку -
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 не инициируется.
Любая помощь будет принята.