Livescript 中的茉莉花测试:"it"关键字冲突



我正在尝试将一些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"作为参数。我没有找到关于这个的livescript文档,但我明白这是一个功能(如果我用其他东西代替it函数,那就没事了)。这使我确信我没有部分应用函数)。

然而,我需要it函数,我不希望它作为一个参数。那么我该如何编写这段代码呢?谢谢!

你应该在description中使用(…)来避免添加额外的参数

这样的

:

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

相关内容

  • 没有找到相关文章

最新更新