Жасминовые тесты в Livescript: конфликт ключевых слов "it"
Я пытаюсь перенести некоторые тесты Жасмин из JavaScript в LiveScript. Одна из функций Жасмин it
, Вот пример:
(function(){
describe("The selling page", function() {
// bla bla
it("should display cards.", function() {
expect(selectedCards.count()).toEqual(1);
});
});
Итак, я попробовал это в LiveScript:
do !->
describe "the selling page " !->
it "should display cards" !->
expect (selectedCards.count()).toEqual("")
Что компилируется в это:
// Generated by LiveScript 1.3.1
(function(){
describe("the selling page ", function(it){ // <--- note the "it"
it("should display cards", function(){
expect(browser.getTitle().toEqual(""));
});
});
})();
Вы замечаете, что вторая функция принимает "это" в качестве аргумента. Я не нашел документ об этом, но понимаю, что это особенность (если заменить it
Функция чем-то еще, это все хорошо. Это дает мне уверенность, что я частично не применяю функцию).
Тем не менее, мне нужно it
функция, и я не хочу это в качестве аргумента. Как я могу написать этот фрагмент тогда? Спасибо!
2 ответа
Вы должны использовать (...) в описании, чтобы избежать добавления дополнительных параметров
Как это:
do !->
describe "the selling page", (...) !->
it "should display cards" !->
expect (selectedCards.count()).toEqual("")
Если вы не против алиасинга it
для чего-то еще, вы также можете сделать это:
that = it
do !->
describe "the selling page " !->
that "should display cards" !->
expect selectedCards.count! .to-equal ''
когда it
не в функции, он рассматривается как глобальный it
,