2013-02-09 4 views
2

Я хочу использовать should.js вместе с mocha в проектах Node.js, которые я пишу в Coffeescript.Использование should.js с Coffeescript

В чистом Javascript выражение в should.js подобно

(function(){ 
    throw new Error('fail'); 
}).should.throw(); 

Теперь я хочу, чтобы написать то же самое выражение в CoffeeScript. Что-то вроде

object.function().should.throw 

Но что компилирует

object["function"]().should["throw"]; 

Где моя ошибка в моем коде Coffescript?

+0

Откуда возникает объект object.function? Почему вы это называете? – Bergi

+0

Это просто местозаполнитель. Код, который я использую, - 'testModel = new DBModel() testModel.get(). Should.throw()' – rotespferd

ответ

1

кодом я использую testModel = new DBModel() testModel.get().should.throw()

Насколько я могу видеть из чистого-JS-например, вы не должны вызывается функция, которую вы хотите протестировать, - это результат, скорее всего, не будет иметь метод should. Используйте это вместо:

testModel = new DBModel(); 
testModel.get.should.throw(); 
+0

Спасибо, ты совершенно прав. 'testModel.get.should.throw' отлично работает. – rotespferd

2

Я не знаю, почему вы пишете object.function() в своем coffeescript. Я думаю, что CoffeeScript скомпилировать ваш JS должно быть:

(-> 
    throw new Error('fail') 
).should.throw() 
+0

Нет, есть та же проблема. Это компилируется в '(function() { throw new Error ('fail'); }). Should [" throw "]();' – rotespferd

+0

@rotespferd: Разве это не то, что вы хотите? – Bergi

Смежные вопросы