Livescript中的Jasmine测试:“it”关键字冲突

时间:2015-10-16 18:20:31

标签: livescript

我正在尝试将一些Jasmine测试从javascript移植到LiveScript。 Jasmine的一个功能是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函数就可以了。这让我有信心我没有部分应用函数。)

但是,我需要it函数,我不希望它作为参数。那我怎么写这个片段呢?谢谢!

2 个答案:

答案 0 :(得分:4)

你应该在描述中使用(...)以避免添加额外的参数

就像那样:

do !->
  describe "the selling page", (...) !->
   it "should display cards" !->
       expect (selectedCards.count()).toEqual("")

答案 1 :(得分:1)

如果你不想别名it别名,你也可以这样做:

that = it

do !->
  describe "the selling page " !->
   that "should display cards" !->
       expect selectedCards.count! .to-equal ''

如果it不在函数中,则会将其视为全局it